gpt4 book ai didi

php - 解析 JSON : multi-level array

转载 作者:可可西里 更新时间:2023-11-01 01:06:00 25 4
gpt4 key购买 nike

我需要从 json 输出中获取一个项目,但是 json 内容并不总是一致的。

例如,如果我想获取“name”的值,它将是 ['result']['attributes'][0]['name'];

但是如果 json 作为第二个示例交付,它将是 ['result']['attributes'][1]['name'];

{"result":{
"attributes":[
{"user":"newb","name":"mike"},
{"state":"california","city":"los angeles"}
]
}}

{"result":{
"attributes":[
{"state":"california","city":"los angeles"},
{"user":"newb","name":"mike"}
]
}}

如果它所在的数组的索引未知,我如何获取“名称”值?

最佳答案

var arr = obj.result.attributes;
for (var i=0; i<arr.length; i++)
if ("name" in arr[i])
return arr[i].name;

或者,如果它总是只有数组中的两个对象:

 var attrs = obj.result.attributes;
return attrs["name" in attrs[0] ? 0 : 1].name;

但我会坚持更改该 api,这两个对象应该合并。


编辑:抱歉,PHP 来了:

$attrs = json_decode($jsonStr, true)["result"]["attributes"];
return $attrs[ isset($attrs[0]["name"]) ? 0 : 1 ];

关于php - 解析 JSON : multi-level array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10908512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com