gpt4 book ai didi

iphone - 如何从此结构中获取数据,JSONKit

转载 作者:行者123 更新时间:2023-11-28 20:31:38 25 4
gpt4 key购买 nike

下面是位于json.txt的内容

{
"data": [
{
"keyId": 3,
"title": "This is a fundraiser 1",
"budget": "1000",
"users": {
"user": [
{
"id": "3",
"first_name": "A1",
"last_name": "A11",
"is_owner": "false"
},
{
"id": "2",
"first_name": "B1",
"last_name": "B11",
"is_owner": "true"
}
]
}
}
]
}

我为获取 idKeytitle 以及 budget 所做的是

@implementation Account
@synthesize arr;
-(void)parse {
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"fundraiser_json" ofType:@"txt"];
NSString *jsonString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];

NSDictionary *dict = [jsonString objectFromJSONString];
self.arr = [dict objectForKey:@"data"];

for ( NSDictionary *acc in self.arr ) {

Account *account = [[Account alloc] init];

[account setKeyID: [acc objectForKey:@"keyId"]];
[account setTitle: [acc objectForKey:@"title"]];
[account setBudget: [acc objectForKey:@"budget"]];
}
}

然后我尝试访问 users 并获取其中每个 user 的一些信息,但我不能

有人可以帮助我如何访问和获取这些数据。

最佳答案

访问用户数据的方式与访问帐户数据的方式相同。在 JSON 对象的嵌套结构中,用户是您帐户的一个属性。该对象是具有一个属性“user”的字典,该属性是一个数组。该数组的每个元素都是一个具有四个属性的对象:id、first_name、last_name 和 is_owner。

所以当你解析你的对象时,它只是一堆嵌套的 NSDictionaries 和 NSArrays。你可以这样做:

...
for ( NSDictionary *acc in self.arr ) {

NSDictionary *users = (NSDictionary*)[acc objectForKey:@"users"];
NSArray *userArray = (NSArray*)[users objectForKey:@"user"];

for (NSDictionary *user in userArray) {
NSString *id = [user objectForKey:@"id"];
NSString *firstName = [user objectForKey:@"first_name"];
// etc.
}
}

编辑:我写这个答案是为了按照你在问题中的方式解析你的 JSON,但是如果你可以控制这个结构,你最好(并且它会更有意义)让 users 属性成为直接包含用户数据字典的数组。也许这正是您最初的打算,也是您在获取数据时遇到问题的原因。

关于iphone - 如何从此结构中获取数据,JSONKit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11960982/

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