Java简单json';语法分析器把变量弄得一团糟

Java简单json';语法分析器把变量弄得一团糟,java,json,simplejson,Java,Json,Simplejson,{“期间”:5,“外部”:{“地段”:{“开始”:1,“步骤”:0,“停止”:2}} 我正在尝试使用简单的JSON将上面的JSON字符串转换为JSONObject。我通过以下方式做到这一点: JSONObject obj = new JSONParser().parse(str); 问题在于解析器以某种方式将变量顺序更改为: {“外部”:{“地段”:{“停止”:2,“开始”:1,“步骤”:0}},“期间”:5} 我想保持和一开始一样的秩序,有什么提示吗?你想要的反对如何指定JSON对象:无序的

{“期间”:5,“外部”:{“地段”:{“开始”:1,“步骤”:0,“停止”:2}}

我正在尝试使用简单的JSON将上面的JSON字符串转换为JSONObject。我通过以下方式做到这一点:

JSONObject obj = new JSONParser().parse(str);
问题在于解析器以某种方式将变量顺序更改为:

{“外部”:{“地段”:{“停止”:2,“开始”:1,“步骤”:0}},“期间”:5}



我想保持和一开始一样的秩序,有什么提示吗?

你想要的反对如何指定JSON对象:无序的键/值对列表。

你想要的反对如何指定JSON对象:无序的键/值对列表。

你想要的反对如何指定JSON对象:无序的键/值对列表。

你想要的反对如何指定JSON对象指定了对象:键/值对的无序列表。

我无法用谷歌搜索出SimpleJSON。是吗?请看:既然JSONObject允许您以任何顺序获取()它们,这有关系吗?正如@Kevinbowersox指出的,JSON是一个无序的集合@DwB,这已经提到过了。但是,要保留json(字符串)的顺序,还需要使用一些用例。例如,假设您想向json配置文件添加一些键/值,并将其保存回磁盘。如果这样一个文件中的键的顺序在每次编辑后都被弄乱了,那会很烦人。@mttdbrd,就像我说的:json文件可能是一个配置文件,您可以手动编辑它。手动编辑时,您希望能够在同一位置找到条目,对吗?我知道我知道。我没能搜索出SimpleJSON。是吗?请看:既然JSONObject允许您以任何顺序获取()它们,这有关系吗?正如@Kevinbowersox指出的,JSON是一个无序的集合@DwB,这已经提到过了。但是,要保留json(字符串)的顺序,还需要使用一些用例。例如,假设您想向json配置文件添加一些键/值,并将其保存回磁盘。如果这样一个文件中的键的顺序在每次编辑后都被弄乱了,那会很烦人。@mttdbrd,就像我说的:json文件可能是一个配置文件,您可以手动编辑它。手动编辑时,您希望能够在同一位置找到条目,对吗?我知道我知道。我没能搜索出SimpleJSON。是吗?请看:既然JSONObject允许您以任何顺序获取()它们,这有关系吗?正如@Kevinbowersox指出的,JSON是一个无序的集合@DwB,这已经提到过了。但是,要保留json(字符串)的顺序,还需要使用一些用例。例如,假设您想向json配置文件添加一些键/值,并将其保存回磁盘。如果这样一个文件中的键的顺序在每次编辑后都被弄乱了,那会很烦人。@mttdbrd,就像我说的:json文件可能是一个配置文件,您可以手动编辑它。手动编辑时,您希望能够在同一位置找到条目,对吗?我知道我知道。我没能搜索出SimpleJSON。是吗?请看:既然JSONObject允许您以任何顺序获取()它们,这有关系吗?正如@Kevinbowersox指出的,JSON是一个无序的集合@DwB,这已经提到过了。但是,要保留json(字符串)的顺序,还需要使用一些用例。例如,假设您想向json配置文件添加一些键/值,并将其保存回磁盘。如果这样一个文件中的键的顺序在每次编辑后都被弄乱了,那会很烦人。@mttdbrd,就像我说的:json文件可能是一个配置文件,您可以手动编辑它。手动编辑时,您希望能够在同一位置找到条目,对吗?我知道我是这样做的。我不是故意要违反法律,但如果我运行100次该代码,它将以相同的顺序返回相同的字符串,因此它有一个顺序,我只希望它保持与根JSON字符串相同的顺序。@omarloren,某个实现(在您的例子中是简单的JSON)的事实每次以相同的顺序解析它并不意味着所说的实现是带着特定的目标进行的。很可能会返回一个HashMap,在这种情况下,“order”(我不能称之为)基于键的hash代码。还可以看到这个问答:@BartKiers谢谢我用提供的链接来解决它我并不想违反法律,但是如果我运行100次该代码,它将以相同的顺序返回相同的字符串,因此它有一个顺序,我只想让它保持与根JSON字符串相同的顺序。@omarloren,某个实现(在您的例子中是简单的json)每次都以相同的顺序解析它,这并不意味着所说的实现是带着特定的目标进行的。很可能会返回一个HashMap,在这种情况下,会返回“order”(我不能称之为order)基于密钥的散列码。另请看以下问答:@BartKiers谢谢,我用提供的链接解决它。我并不想违反法律,但如果我运行100次该代码,它将以相同的顺序返回相同的字符串,因此它有一个顺序,我只希望它保持与根JSON字符串相同的顺序。@omarloren某些实现(在您的例子中是简单的json)每次都以相同的顺序对其进行解析,这并不意味着所述实现是基于特定的目标进行解析的。很可能会返回一个HashMap,在这种情况下会返回“order”(我不能称之为order)基于密钥的散列码。另请看以下问答:@BartKiers谢谢,我用提供的链接解决它。我并不想违反法律,但如果我运行100次该代码,它将以相同的顺序返回相同的字符串,因此它有一个顺序,我只希望它保持与根JSON字符串相同的顺序。@omarloren某些实现(在您的例子中是简单的json)每次都以相同的顺序对其进行解析,这并不意味着所说的实现是基于特定的目标进行解析的。很可能会返回一个HashMap,在这种情况下,“顺序”(我不能称之为“顺序”)是基于键的哈希代码的。另请参见以下问答: