Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JSON数组中具有与JSON响应相同的顺序?_Java_Json - Fatal编程技术网

Java 如何在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响应的

我收到一个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或表?