gpt4 book ai didi

ios - 使用 SBJSON 解析 JSON,问题

转载 作者:行者123 更新时间:2023-11-28 19:01:44 27 4
gpt4 key购买 nike

我收到了一个预测格式的 JSON 响应。这样树看起来像这样:

{ "data":{
"img":"image":"http:\/\/testingpage.com\/images\/frog_320x480_23.jpg",
"link":"http:\/\/google.com","verbose":"Hi there"},
"figures":[
{ "ID":"16","TYPE":"sailor","COLOR":"1E90FFFA","ICON":"sailor"},
{"ID":"32","TYPE":"pilot","COLOR":"32CD32BC","ICON":"pilot"}
]
}
}

我正在使用 SBJSON 库。
我正在获得我的值(value)观

NSString *jsonString = [[NSString alloc] initWithData:iData encoding:NSUTF8StringEncoding]; NSDictionary *results = [jsonString JSONValue];

并获取我需要的 key :

results objectForKey:@"keyname"]

到目前为止还不错。

现在发生的事情是,我从不同的提供商那里得到了回应,结果在本质上完全不同:

[
{ "TEMPValues": {
"temp1": 13.2,
"temp2":11.1,
"temp3":11.2,
"temp4":13.4
},
"semipath":"pollution",
"value":"AXT"
},
{ "TEMPValues": {
"temp1":19.3,
"temp2":12.1,
"temp3":10.8,
"temp4":13.1},
"semipath":"pollution",
"value":"AUT"
}
]

这里有两个问题:

  1. 我不知道如何访问这些值,因为它们位于根数组中。那个数组没有我可以引用的键。那么这种结构应该采用什么方法呢?如果我需要获取数组中TEMPValues的第一个对象的temp1

  2. 每当我尝试使用 results objectForKey:@"keyname"] 获取一个值时,我都会收到一个 SIGABRT,因为 results 是识别出一个数组

最佳答案

首先创建值数组

NSArray *results = (NSArray *)[jsonString JSONValue];

之后迭代这个数组

for(int i= 0; i < results.count; i++) {
NSDictionary *dic = (NSDictionary *)[results objectAtIndex:i];
}

关于ios - 使用 SBJSON 解析 JSON,问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24366059/

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