Erlangの初心者はこちらです。このような てきたJSON:Erlang構造体の名前で値を取得するには?
{
"ReadCardResultResult":{
"amount":"0",
"balance":"9400",
"Status":1,
"Commands":[
],
"message":"0000000000000000",
"ret":{
"code":0,
"desc":"SUCCESS",
"subReturn":null
},
"transactionId":103979,
"txnInfo":[
{
"infoId":101,
"infoName":"TestName1",
"infoValue":"04432FBAA53080"
},
{
"infoId":102,
"infoName":"TestName2",
"infoValue":""
},
{
"infoId":103,
"infoName":"TestName3",
"infoValue":"9400"
},
{
"infoId":104,
"infoName":"TestName4",
"infoValue":"5"
}
]
}
}
私の仕事は、infoName
に応じtxnInfo
のうちの特定のinfoValue
を取得することです。たとえば、infoValue
を "TestName3"、つまり "9400"にする必要があります。
は、これまでのところ私はproplists:get_value(<<"txnInfo">>, ReadCardResultResult).
でJSONを狭くし、今私はこれを持っている:
[{struct,[{<<"infoId">>,101},
{<<"infoName">>,<<"TestName1">>},
{<<"infoValue">>,<<"043A2FBAA53080">>}]},
{struct,[{<<"infoId">>,108},
{<<"infoName">>,<<"TestName2">>},
{<<"infoValue">>,<<"772">>}]},
{struct,[{<<"infoId">>,108},
{<<"infoName">>,<<"TestName3">>},
{<<"infoValue">>,<<"772">>}]},
{struct,[{<<"infoId">>,125},
{<<"infoName">>,<<"TestName4">>},
{<<"infoValue">>,<<>>}]}]
、どこ私はここから行くのですか?私は本当にこれに固執しています。どんな助けもありがとう。
この2番目のスニペットは、最初のスニペットのJSONからのものではないようです。データは異なります。 – Dogbert
@Dogbert私はmochijson2を使用し、2番目のスニペットを返します –
そうではありません。値は異なっていました(それでもすべてが正しいわけではありません)。とにかく、私は '' TestName3 ''のデータを修正し、答えを投稿しました。 – Dogbert