用Java创建JSON输出

时间:2016-09-07 07:21:30

标签: java json

我正在尝试在Java中创建JSON以下。

"data": {
    "keys": ["access_token"]
}

我尝试过相同的代码

JSONObject jsonObjSend = new JSONObject();
JSONObject data = new JSONObject();
JSONArray keys = new JSONArray();
keys.add("access_token");
jsonObjSend.put("keys", keys);
data.put("data",keys);
System.out.println(obj.toString());

3 个答案:

答案 0 :(得分:0)

你是错误的做错了。您需要将data添加到jsonObjSend进行检查。

import org.json.JSONArray;
import org.json.JSONObject;

public class Test {

public static void main(String[] args) {
    JSONObject jsonObjSend = new JSONObject();
    JSONObject data = new JSONObject();
    JSONArray keys = new JSONArray();
    keys.put("access_token");
    data.put("keys", keys);
    jsonObjSend.put("data",data);
    System.out.println(jsonObjSend.toString());
   }
}

答案 1 :(得分:0)

请注意,所需的输出不是有效的JSON:

"data": {
  "keys": [
    "access_token"
  ]
}

有效的JSON将是:

{
  "data": {
    "keys": [
      "access_token"
    ]
  }
}

使用org.json库来使用JSON后,您可能会发现以下代码非常有用:

JSONObject root = new JSONObject();

JSONObject data = new JSONObject();
root.put("data", data);

JSONArray keys = new JSONArray();
keys.put("access_token");
data.put("keys", keys);

String json = root.toString();

它将产生这个JSON:

{"data": {"keys": ["access_token"]}}

答案 2 :(得分:0)

您可以使用google gson Json实现它。

查看示例代码

JsonObj obj = new JsonObj(); 
Data data = new Data();
String keys[] = {"access_token"};
data.setKeys(keys);

obj.setData(data);
System.out.println("==================>>>"+gson.toJson(obj));


class JsonObj{
    private Data data;
    public Data getData() {
        return data;
    }
    public void setData(Data data) {
        this.data = data;
    }
}
class Data{
    private String[] keys;

    public String[] getKeys() {
        return keys;
    }
    public void setKeys(String[] keys) {
        this.keys = keys;
    }
}