Java JsonObject数组值为key

Lam*_*mis 3 java json

我是java的新手,所以这有点令人困惑

我想得到json格式的字符串

我想要的结果是

{ "user": [ "name", "lamis" ] }
Run Code Online (Sandbox Code Playgroud)

我目前正在做的是:

JSONObject json = new JSONObject();         
json.put("name", "Lamis");
System.out.println(json.toString());
Run Code Online (Sandbox Code Playgroud)

而且我得到了这个结果

{"name":"Lamis"}
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但它没有工作json.put("user",json.put("name","Lamis"));

Joa*_*uer 13

试试这个:

JSONObject json = new JSONObject();         
json.put("user", new JSONArray(new Object[] { "name", "Lamis"} ));
System.out.println(json.toString());
Run Code Online (Sandbox Code Playgroud)

然而,你所展示的"错误"结果将是"有一个名为 "lamis" 的用户比"正确"结果更自然的映射.

为什么你认为"正确"的结果更好?


pet*_*ter 8

另一种方法是使用JSONArray来呈现列表

   JSONArray arr = new JSONArray();
   arr.put("name");
   arr.put("lamis");

   JSONObject json = new JSONObject();
   json.put("user", arr);

   System.out.println(json);   //{ "user": [ "name", "lamis" ] }
Run Code Online (Sandbox Code Playgroud)