Java 如何创建值不是基本数据类型之一的JSON对象

Java 如何创建值不是基本数据类型之一的JSON对象,java,json,Java,Json,如何在java中以json对象的形式发送以下数据: { "name": "abc", "coordinates": [ [ [ 100, 0 ], [ 101, 0 ], [ 101,

如何在java中以json对象的形式发送以下数据:

{
    "name": "abc",
    "coordinates": [
        [
            [
                100,
                0
            ],
            [
                101,
                0
            ],
            [
                101,
                1
            ],
            [
                100,
                1
            ],
            [
                100,
                0
            ]
        ]
    ]
}

问题是因为坐标的值既不是原始数据类型,如何将其作为键值对添加到json对象中。需要注意的是:坐标的值不是字符串,结构是一个对象,其中包含一个具有字符串值的属性和另一个具有数组值的属性。该数组包含一个条目,另一个数组,该数组又包含一系列条目,这些条目也是数组

如何构建它将取决于您使用的JSON库,但如果您使用的是
javax.JSON
,您将执行类似的操作(请参阅下面的更新)):

然后在适当的情况下:

String json = obj.toString();
String json = obj.toString();
既然您已经说过您正在使用
org.json

JSONObject obj = new JSONObject();       // The outer object
obj.put("name", "abc");                  // `name`
JSONArray coordinates = new JSONArray(); // `coordinates`
obj.put("coordinates", coordinates);
JSONArray innerArray = new JSONArray();  // The entry in `coordinates`
coordinates.put(innerArray);
JSONArray entry = new JSONArray();       // The various entries...
entry.put(100);
entry.put(0);
innerArray.put(entry);
entry = new JSONArray();                 // ...in the inner array
entry.put(101);
entry.put(0);
innerArray.put(entry);
// ...and so on.
然后在适当的情况下:

String json = obj.toString();
String json = obj.toString();

该结构是一个对象,包含一个具有字符串值的属性和另一个具有数组值的属性。该数组包含一个条目,另一个数组,该数组又包含一系列条目,这些条目也是数组

如何构建它将取决于您使用的JSON库,但如果您使用的是
javax.JSON
,您将执行类似的操作(请参阅下面的更新)):

然后在适当的情况下:

String json = obj.toString();
String json = obj.toString();
既然您已经说过您正在使用
org.json

JSONObject obj = new JSONObject();       // The outer object
obj.put("name", "abc");                  // `name`
JSONArray coordinates = new JSONArray(); // `coordinates`
obj.put("coordinates", coordinates);
JSONArray innerArray = new JSONArray();  // The entry in `coordinates`
coordinates.put(innerArray);
JSONArray entry = new JSONArray();       // The various entries...
entry.put(100);
entry.put(0);
innerArray.put(entry);
entry = new JSONArray();                 // ...in the inner array
entry.put(101);
entry.put(0);
innerArray.put(entry);
// ...and so on.
然后在适当的情况下:

String json = obj.toString();
String json = obj.toString();

该结构是一个对象,包含一个具有字符串值的属性和另一个具有数组值的属性。该数组包含一个条目,另一个数组,该数组又包含一系列条目,这些条目也是数组

如何构建它将取决于您使用的JSON库,但如果您使用的是
javax.JSON
,您将执行类似的操作(请参阅下面的更新)):

然后在适当的情况下:

String json = obj.toString();
String json = obj.toString();
既然您已经说过您正在使用
org.json

JSONObject obj = new JSONObject();       // The outer object
obj.put("name", "abc");                  // `name`
JSONArray coordinates = new JSONArray(); // `coordinates`
obj.put("coordinates", coordinates);
JSONArray innerArray = new JSONArray();  // The entry in `coordinates`
coordinates.put(innerArray);
JSONArray entry = new JSONArray();       // The various entries...
entry.put(100);
entry.put(0);
innerArray.put(entry);
entry = new JSONArray();                 // ...in the inner array
entry.put(101);
entry.put(0);
innerArray.put(entry);
// ...and so on.
然后在适当的情况下:

String json = obj.toString();
String json = obj.toString();

该结构是一个对象,包含一个具有字符串值的属性和另一个具有数组值的属性。该数组包含一个条目,另一个数组,该数组又包含一系列条目,这些条目也是数组

如何构建它将取决于您使用的JSON库,但如果您使用的是
javax.JSON
,您将执行类似的操作(请参阅下面的更新)):

然后在适当的情况下:

String json = obj.toString();
String json = obj.toString();
既然您已经说过您正在使用
org.json

JSONObject obj = new JSONObject();       // The outer object
obj.put("name", "abc");                  // `name`
JSONArray coordinates = new JSONArray(); // `coordinates`
obj.put("coordinates", coordinates);
JSONArray innerArray = new JSONArray();  // The entry in `coordinates`
coordinates.put(innerArray);
JSONArray entry = new JSONArray();       // The various entries...
entry.put(100);
entry.put(0);
innerArray.put(entry);
entry = new JSONArray();                 // ...in the inner array
entry.put(101);
entry.put(0);
innerArray.put(entry);
// ...and so on.
然后在适当的情况下:

String json = obj.toString();
String json = obj.toString();


您使用的是什么JSON库?不确定,您想要什么,但您发送的JSON是有效的。您想要什么键,以及什么值?你的问题目前我还不清楚。请分享一段代码,说明如果坐标值是一个基本类型,如{“name”:“abc”,“coordinates”:42},你会如何做。你可能还想包括你的进口清单。是的,这个json是有效的。在selenium中,我想创建一个json对象。我从excel工作表中读取坐标值,但当我这样做时,该值被读取为字符串。您使用的JSON库是什么?不确定,您想要什么,但您发送的JSON是有效的。您想要什么键,以及什么值?你的问题目前我还不清楚。请分享一段代码,说明如果坐标值是一个基本类型,如{“name”:“abc”,“coordinates”:42},你会如何做。你可能还想包括你的进口清单。是的,这个json是有效的。在selenium中,我想创建一个json对象。我从excel工作表中读取坐标值,但当我这样做时,该值被读取为字符串。您使用的JSON库是什么?不确定,您想要什么,但您发送的JSON是有效的。您想要什么键,以及什么值?你的问题目前我还不清楚。请分享一段代码,说明如果坐标值是一个基本类型,如{“name”:“abc”,“coordinates”:42},你会如何做。你可能还想包括你的进口清单。是的,这个json是有效的。在selenium中,我想创建一个json对象。我从excel工作表中读取坐标值,但当我这样做时,该值被读取为字符串。您使用的JSON库是什么?不确定,您想要什么,但您发送的JSON是有效的。您想要什么键,以及什么值?你的问题目前我还不清楚。请分享一段代码,说明如果坐标值是一个基本类型,如{“name”:“abc”,“coordinates”:42},你会如何做。你可能还想包括你的进口清单。是的,这个json是有效的。在selenium中,我想创建一个json对象。我从excel工作表中读取坐标值,但当我这样做时,该值被读取为字符串