gpt4 book ai didi

ios - 在 json 数据中添加 InvoicID 新键和值

转载 作者:行者123 更新时间:2023-11-29 00:32:05 25 4
gpt4 key购买 nike

这是我的 json 数据 http://pastie.org/10988178我想在特定项目中添加发票 ID。例如,如果一张发票有 3 个项目,则每个项目数组添加特定的 InvoiceID

"ItemDetails":[
{
"ItemId":1,
"ItemType":1,
"InvoiceDetailId":1,
"UPC":"UPCCODE1",
"SKU":"Item 1",
"Description":"Item Description",
"Qty":12,
"PunchListPart":"Item Part New if return item",
"Comment":"Comment1",
"BarCode":""
"InvoiceId":95
},

我想要这样的输出

这是我的代码,但无法运行

NSLog(@"item=%lu",[[ret_val valueForKey:@"ItemDetails" ] count]);
NSArray *testarray=[ret_val valueForKey:@"ItemDetails" ];
NSMutableArray *item=[[NSMutableArray alloc]init];
for(int i=0; i<[[ret_val valueForKey:@"ItemDetails" ] count]; i++) {

NSMutableDictionary *dictValues = [NSMutableDictionary dictionaryWithDictionary:testarray[i]];
[dictValues setValue:[[ret_val objectForKey:@"InvoiceId"] objectAtIndex:i] forKey:@"InvoiceId"];
[item addObject:dictValues];
}
NSLog(@"item=%@",item);

ret_val是我所有json数据中的NSMutableDictionary。

最佳答案

问题是 ret_val 是您的根 JSON Dictionary 并且您希望 InvoiceId 位于 data ret_val 字典的数组。因此,您需要使用 dataArray 访问它,您也可以使用 foreach 循环来减少代码。

NSMutableArray *items = [[NSMutableArray alloc] init];
NSArray *dataArray = [ret_val objectForKey:@"data"];
for (NSDictionary *dic in dataArray) {
//Now loop through the `ItemDetails` array.
NSArray *itemDetails = [dic objectForKey:@"ItemDetails"];
for (NSDictionary *itemDic in itemDetails) {
NSMutableDictionary *dictValues = [NSMutableDictionary dictionaryWithDictionary:itemDic];
[dictValues setValue:[dic objectForKey:@"InvoiceId"] forKey:@"InvoiceId"];
[items addObject:dictValues];
}
}
NSLog(@"%@", items)

关于ios - 在 json 数据中添加 InvoicID 新键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41499287/

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