【发布时间】:2014-10-06 14:57:05
【问题描述】:
我需要获取 json 数组并向其中添加一个元素,然后将其发回。我的问题是如何编辑 json 数组元素?我能找到的唯一方法:
[firstElm addEntriesFromDictionary:[[forTheDopOp objectForKey:@"blablabla"] objectAtIndex:1]];
NSDictionary * dic = [NSDictionary dictionaryWithObject:DateAndTime forKey:@"value"];
[firstElm addEntriesFromDictionary:dic];
[order addObject:firstElm];
[secondElm addEntriesFromDictionary:[[forTheDopOp objectForKey:@"blablabla"] objectAtIndex:2]];
NSDictionary * dic1 = [NSDictionary dictionaryWithObject:backDateAndTime forKey:@"value"];
[secondElm addEntriesFromDictionary:dic1];
[orderOpSender addObject:secondElm];
但是如果我需要循环执行它就行不通
for (int i = 0; i < [[[[forTheDopOp objectForKey:@"blablabla"] objectAtIndex:3] objectForKey:@"option_value"] count]; i++) {
[valuesElm addEntriesFromDictionary:[[[[forTheDopOp objectForKey:@"blablabla"] objectAtIndex:3] objectForKey:@"blablabla"] objectAtIndex:i]];
NSDictionary * dic = [NSDictionary dictionaryWithObject:[[[[[forTheDopOp objectForKey:@"blablabla"] objectAtIndex:3] objectForKey:@"blablabla"] objectAtIndex:i] objectForKey:@"name"] forKey:@"value"];
[valuesElm addEntriesFromDictionary:dic];
[orderOp addObject:valuesElm];
}
最后我得到了一个相同元素的数组。
我的 json 示例:
{ "product_id": 83, "firstname":"111", "lastname": "222", "email": "e2e2e@wsdwsd.ru", "telephone":"089234","options":[
{
"name":"\u0414\u0430\u0442\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f",
"type":"datetime",
"option_value":"",
"required":"1",
"value": "2014-09-01 9:10",
"product_option_id":"263",
"option_id":"15"
},
{
"name":"\u0414\u0430\u0442\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430",
"type":"datetime",
"option_value":"",
"required":"1",
"product_option_id":"264",
"value": "2014-10-01 10:10",
"option_id":"16"
}
我可以立即在选项中添加字符串吗?
【问题讨论】:
-
将 JSON 解析为 NSArrays/NSDictionarys,根据需要进行更新,然后序列化回 JSON。解析时一定要指定“可变容器”选项。
-
如前所述,你无法说出你想要什么。
标签: ios json nsarray nsdictionary