gpt4 book ai didi

javascript - jquery each 使用 "where clause"迭代复杂的 JSON 结构

转载 作者:行者123 更新时间:2023-11-30 17:31:31 26 4
gpt4 key购买 nike

我不是 100% 清楚如何制定一个 $.each() 函数。

以下 JSON 数据 block 包含数组 ItemValues 中的多个项目。我正在寻找的是一种方法(因为这个数据包可以任意大)在某种程度上获取每个 ItemValue 数组项 WHERE Fields.Id 相当于某个值“x”。

还有,是否有一些方法可以将 ItemValues[n].Fields.units 检索为数组?

JSON:

{
"CacheName":"Default",
"LastUpdateTime":"\/Date(1396994130568)\/",
"Type":"Start",
"TotalItemsCount":3,
"PassingFilterCount":3,
"ItemValues":[
{
"Fields":{
"id":"13288263",
"status":"8",
"x_cord":"7250600",
"y_cord":"566620200",
"code":"1021",
"sub_code":"1W",
"priority":"1",
"units":"1011, 1130, 1201, 1233, 1445, 1501, 1518, 1714, 1726, 1823, 1825, 1832, 3662",
"ts":"20140402234025UT"
},
"Id":"13288263",
"LastAction":"add"
},
{
"Fields":{
"id":"13288264",
"status":"8",
"x_cord":"",
"y_cord":"",
"code":"",
"sub_code":"",
"priority":"-1",
"units":"",
"ts":""
},
"Id":"13288264",
"LastAction":"add"
},
{
"Fields":{
"id":"13288265",
"status":"8",
"x_cord":"",
"y_cord":"",
"code":"",
"sub_code":"",
"priority":"-1",
"units":"",
"ts":""
},
"Id":"13288265",
"LastAction":"add"
}
]
}

最佳答案

这是一个显示所有内容的代码(根据需要使用 $.each()),使用 JSON.parse()String.split()

var json_string = "Your JSON here";

//Use JSON.parse to make it an object
var json_object = JSON.parse(json_string.innerHTML);

//Will store the matched identifier
var matched_id;

//Will store the matched array
var matched_array;

//A valid test case, with units not null
var x = 13288263;
$.each(json_object.ItemValues, function(key, item_value){
if(item_value.Fields.id == x){
matched_id = item_value.Fields.id;

//Second part of the question
var units = item_value.Fields.units;
if(units != ""){
//String.split() returns an array, by splitting the string with
//selected string
matched_array = units.split(', ');
}
}
});

Here's a demo , 玩它。

注意:肯定有一些更好的解决方案。

关于javascript - jquery each 使用 "where clause"迭代复杂的 JSON 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22974647/

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