gpt4 book ai didi

iOS/Objective C 解析 JSON 获取 int

转载 作者:行者123 更新时间:2023-11-28 21:12:17 25 4
gpt4 key购买 nike

我一直在尝试解析这个 json,但没有成功:

[{"op":"replace","path":"/pending_coins","value":20}]

我想要20的值所以我可以做

int quantity = jsonValue; //20 

这是我目前拥有的:

    NSArray *patch =[NSJSONSerialization JSONObjectWithData:anEvent.data options:NSJSONReadingMutableContainers error:&e];

NSDictionary *dict = patch[0];

NSLog(@"patch: %@", dict);

NSInteger quantity = (NSInteger)[dict valueForKey:@"value"];
NSLog(@"quantity: %ld",(long)quantity);

if (quantity > 0) {
NSLog(@"You earned %ld coins!",(long)quantity);
}

我已经尝试了 objectForKeyvalueForKey,但似乎都无法满足我的需求。

如果我这样做 [NSString stringWithFormat:@"%@",[patch valueForKey:@"value"]] 我得到一个字符串值 20,但是 intValueintegerValue 似乎无法满足我的需求。

现在,日志显示:数量:-5764607523034234845

有什么地方出错了吗?我无法控制 JSON,或者我只会修复对象周围的外部数组。

最佳答案

反序列化时,JSON 字典中的整数将映射到 NSNumber 的实例,它有多种方法来检索标量值。

要从 JSON 中获取 NSInteger,您需要执行以下操作:

NSNumber *number = [dict objectForKey:@"value"];
NSInteger quantity = [number integerValue];

关于iOS/Objective C 解析 JSON 获取 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42585490/

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