从Key Value JSON对象获取数据[重复]
问题描述:
This question already has an answer here:
I have a JSON object below, but i'm struggling to get name, value from it.
I would want to get the values and save them into a database.
$json = '
{
"Body":
{
"stkCallback":
{
"ResultCode":0,
"ResultDesc":"The service request is processed successfully.",
"CallbackMetadata":
{
"Item":
[
{
"Name":"Amount",
"Value":10
},
{
"Name":"TransactionDate",
"Value":20170727154800
},
{
"Name":"PhoneNumber",
"Value":26721566839
}
]
}
}
}
}';
How can I get the "Name":"Amount" values and "Name":"TransactionDate" value.
At least for the rest
$ResultCode = json_decode($json)->Body->stkCallback->ResultCode;
$ResultDesc = json_decode($json)->Body->stkCallback->ResultDesc;
The question is, how do I get the values in a loop when some have values and others don't?
</div>
此问题已经存在 这里有一个答案: p>
-
为什么Python无法解析这个JSON数据? [关闭]
9 answers
span>
li>
\ n ul>
div>
我下面有一个JSON对象,但我很难从中获取名称,价值。 p>
我想获取值并将它们保存到数据库中。 p>
$ json =' { “Body”: { “stkCallback” : { “ResultCode”:0, “”ResultDesc“:”服务请求已成功处理。“, ”CallbackMetadata“: { ”Item“: [ {\ n“名称”:“金额”, “值”:10 }, { “名称”:“TransactionDate”, “值”:20170727154800 }, { “ 名称“:”PhoneNumber“, ”值“:26721566839 } ] } } } }'; code> pre>
我如何获得“名称”:“金额”值和“名称”:“TransactionDate”值。 p>
至少fo 其余的 p>
$ ResultCode = json_decode($ json) - &gt; Body-&gt; stkCallback-&gt; ResultCode; $ ResultDesc = json_decode($ json) - &gt ; Body-&gt; stkCallback-&gt; ResultDesc; code> pre>
问题是,当某些值具有值而其他值不具有值时,如何在循环中获取值 ? p> div>
答
Try this :
$response=json_decode($json,true);
echo $amount=$response['Body']['stkCallback']['CallbackMetadata']['Item']['0']['Value'];
echo $TransactionDate=$response['Body']['stkCallback']['CallbackMetadata']['Item']['1']['Value'];
echo $PhoneNumber=$response['Body']['stkCallback']['CallbackMetadata']['Item']['2']['Value'];
You have all the values in variables now.