Java 如何在JSON数组中具有与JSON响应相同的顺序?
我收到一个JSON响应,例如Java 如何在JSON数组中具有与JSON响应相同的顺序?,java,json,Java,Json,我收到一个JSON响应,例如 { "status": "success", "0": { "fname": "john", "lname":"doe" }, "1": { "fname":"jane", "lname":"doe" } } 当我获取这个JSONObject并尝试将其放入JSON数组中,使元素0为status:success,元素1为fname:“john”,lname:“doe”。。等等。结果混淆了。数组的顺序与JSON响应的
{
"status": "success",
"0": {
"fname": "john",
"lname":"doe"
},
"1": {
"fname":"jane",
"lname":"doe"
}
}
当我获取这个JSONObject并尝试将其放入JSON数组中,使元素0为status:success,元素1为fname:“john”,lname:“doe”。。等等。结果混淆了。数组的顺序与JSON响应的顺序不同。如何以相同的顺序将JSON响应和每个元素解析为JSON对象?如果密钥为“0”“1”等,请尝试以下操作:
NSMutableArray *ar = @[].mutableCopy;
NSDictionary *json = @{};//Data back
[ar addObject:json[@"status"]];
for (int i = 0; i < json.allKeys.count-1; i++) {
NSString *key = [NSString stringWithFormat:@"%d",i];
[ar addObject:json[key]];
}
NSMutableArray*ar=@[].mutableCopy;
NSDictionary*json=@{}//数据备份
[ar addObject:json[@“状态”];
for(int i=0;i
为什么希望事情的顺序相同?json响应中没有数组。为什么不解析每个值并按您想要的顺序将其放入数组中呢?JSON对象被解码成hashmaps/Hash/Dictionary/etc(术语取决于语言)。没有固有的密钥顺序,因此无法保证密钥出现的顺序。您真正想要得到的是:[“success”,{“fname”:“john”,…},…]
,所以让服务器以这种方式发送。如果你不能,你就不走运了。你能帮我学JAVA吗。我假设NSMutableArray是ArrayList,NSDictionary是HashMap或表?