Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.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字符串_Java_Json - Fatal编程技术网

Java 列表<;字符串>;到Json字符串

Java 列表<;字符串>;到Json字符串,java,json,Java,Json,如何将列表转换为Json字符串 我设法用另一种方法来做,但不是用这种方法 我也不知道如何指定键的名称,然后..您可以使用 列表; 字符串json=new Gson().toJson(列表); 已编辑: 这里有一个完整的答案:问题是您正在将json字符串转换为列表。这样会丢失关系键值。正确的方法应该是将json字符串转换为HashMap看起来您真正的问题是,当您最初将json字符串转换为列表时,您扔掉了键。这并不奇怪,列表不是JSON对象的自然表示形式(即具有键值对的对象)。您可能应该将其表示为

如何将列表转换为Json字符串

我设法用另一种方法来做,但不是用这种方法

我也不知道如何指定键的名称,然后..

您可以使用

列表;
字符串json=new Gson().toJson(列表);
已编辑


这里有一个完整的答案:问题是您正在将json字符串转换为
列表。这样会丢失关系键值。正确的方法应该是将json字符串转换为
HashMap

看起来您真正的问题是,当您最初将json字符串转换为
列表时,您扔掉了键。这并不奇怪,列表不是JSON对象的自然表示形式(即具有键值对的对象)。您可能应该将其表示为
映射


但不管怎样,如果你把钥匙扔掉了,你就有麻烦了。您需要更改数据结构以不丢弃键,或者根据键在列表中的位置推断键应该是什么来重构JSON。(后者可能有点狡猾,因为原始JSON中名称/值对的顺序不应该表示任何东西……可能是“随机的”或“依赖于实现的”。

您是如何“反过来”做到的?你使用过一些库吗?你使用什么工具?gson?没有?非常感谢!我现在已经这样做了,但似乎只有值在这个json字符串中,而不是键。我如何才能将它们放到这个json字符串中?@Jane A
列表
不包含键/值对。
列表
中的键是什么?是的,这是pr问题。但我需要在我的Json字符串中再次使用键!我该如何放置它们?就像这样:一开始我有一个结构良好的Json字符串。我将其放入一个列表中,删除一些元素,然后将其返回到Json,并为键指定新名称。我该如何做?不要将其放入
列表中
。使用
HashMap
保存键.我已经解决了。我不会把它变成一个列表,而是把它变成一个哈希映射!
List<String> list;
String json = new Gson().toJson(list);