我试图从一个来自Excel的字符串
创建以下Json{
"RequestId": "1234",
"OrderID": "NCBTEST02082018-01",
"Assets": [{
"Field1":"1",
"Field2": "NCBTEST-01",
"Field3": "1",
"Field4": "1",
"Field5": "1",
"Field6": "1",
"Field7": "1"
}] }
我可以创建资产araay,但我不知道如何在资产数组之前添加"RequestId": "1234",
和"OrderID": "NCBTEST02082018-01",
的前2个字段。
答案 0 :(得分:0)
我不确定你在做什么,但我应该是这样的:
JsonObject value = Json.createObjectBuilder()
.add("RequestId", "1234")
.add("OrderId", "NCB1234")
.add("Assets", Json.createArrayBuilder()
.add(Json.createObjectBuilder()
.add("Field1", "1") // add more in loop
).build();
答案 1 :(得分:0)
如果您使用的是org.codehaus.jettison.json.JSONObject
,请执行以下操作:
new JSONObject(jsonString);
其中jsonString
是一个包含整个json对象的String。
答案 2 :(得分:0)
您可以使用新的JSONObject(字符串)来获取所需的json对象 现在来订购,如果你在谈论JSONObject,那么订单并不重要,因为值存储在键下,可以随机访问,不受订单影响 您可以创建新的JSONObject,然后在添加assets数组
之前添加requestid和orderidJSONObject y=new JSONObject('');
y.put('requestid','whateer');
y.put('orderid','whatever');
y.put('assets',myjsonarray)
答案 3 :(得分:0)
以下是键值对:
" RequestId":" 1234"
" OrderID":" NCBTEST02082018-01"
因此,您可以将它们插入JSONObject。
这样的事情:
JSONObject jb = new JSONObject();
JSONArray ja = new JSONArray();
jb.put("Field1", "1");
jb.put("Field2", "NCBTEST-01");
jb.put("Field3", "1");
jb.put("Field4", "1");
jb.put("Field5", "1");
jb.put("Field6", "1");
jb.put("Field7", "1");
ja.put(jb);
JSONObject main = new JSONObject();
main.put("RequestId", "1234");
main.put("OrderID", "NCBTEST02082018-01");
main.put("Assets", ja);
System.out.println(main);
输出:
{
"RequestId": "1234",
"Assets": [{
"Field4": "1",
"Field5": "1",
"Field2": "NCBTEST-01",
"Field3": "1",
"Field6": "1",
"Field7": "1",
"Field1": "1"
}],
"OrderID": "NCBTEST02082018-01"
}