我试图转换HashSet<String>为JSONObject然后解析输出JSON.
这是我尝试过的:
JSONObject json = new JSONObject();
json.put("set", new HashSet<>(Arrays.asList("a", "b")));
json.put("list", Arrays.asList("a", "b"));
String jsonString = json.toJSONString();
System.out.println(jsonString);
JSONParser parser = new JSONParser();
JSONObject afterParse = (JSONObject) parser.parse(jsonString);
System.out.println(afterParse.toJSONString());
Run Code Online (Sandbox Code Playgroud)
但它给了我这个输出和错误:
{"set":[b, a],"list":["a","b"]}
Exception in thread "main" Unexpected character (b) at position 8.
Run Code Online (Sandbox Code Playgroud)
在这里,你可以看到a和b都是字符串,在列表中都是双引号内但在集合中它不是.
我正在使用org.json.simplev1.1.
我认为这是图书馆的问题org.json.simple。
我已经使用了org.json库,并且必须对上面的代码进行一些小的更改才能工作:
JSONObject json = new JSONObject();
json.put("set", new HashSet<>(Arrays.asList("a", "b")));
json.put("list", Arrays.asList("a", "b"));
String jsonString = json.toString();
System.out.println(jsonString);
JSONObject afterParse = new JSONObject(jsonString);
System.out.println(afterParse.toString());
Run Code Online (Sandbox Code Playgroud)
这段代码的输出是:
{"set":["a","b"],"list":["a","b"]}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8897 次 |
| 最近记录: |