私はZoho CRMを使用しています。私がAPIから得た応答形式は私にとって少し奇妙なものです。私は普通にそうするのと同じように、それからオブジェクトを引き出すことはできません。 PHPを使用して結果を解析しようとしています。ここでは、フォーマットの応答の例を示します。私は何をしようとしているZoho CRM APIからJSON応答内のデータを抽出する方法
{
"response": {
"result": {
"SalesOrders": {
"row": {
"FL": [
{
"content": "6666666000000000000",
"val": "SALESORDERID"
},
{
"content": "Order",
"val": "Subject"
},
{
"content": "Pending",
"val": "Status"
},
{
"content": "John Smith",
"val": "Order Owner"
},
{
"content": "Canada",
"val": "Billing Country"
},
{
"product": {
"FL": [
{
"content": "5555555000000000000",
"val": "Product Id"
},
{
"content": "Roller Coaster",
"val": "Product Name"
}
],
"no": "1"
},
"val": "Product Details"
},
"content": "Pending",
"val": "Ticket Status"
}
],
"no": "1"
}
}
},
"uri": "/crm/private/json/SalesOrders/getRecordById"
}
}
は、この場合には値が「5555555000000000000」です(製品のプロダクトIDを取得している
すべての応答は同じを持っています構造体のインデックスを使用することはできませんが、キーの値を解析するためにインデックスを使用することはできません。フィールドの量はAPIコール(製品のインデックスが上記のように5、7,8など、実際には、「Product_ID」:「5555555000000000000」のような典型的なキーと値のペアを使用しなかった理由は分かりませんが、これはすべて問題ではありません。
"Product ID"の "val"を探して、関連付けられた "content"(これは私が探している製品IDです)を取得するすべてのキー/値ペアを反復せずにこれを行う方法はありますか?それが私が考えることができる唯一の方法であり、非常に効率的ではないようです。
あなたがそこに 'true'をを使用する必要がありますので、' json_decode() 'の2番目の引数が' bool'あるを得ることができる、ではありません 'JSON_OBJECT_AS_ARRAY'ていますオプション、したがって第4引数。 –