[英]How to create the following JSON Structure dynamically
我正在嘗試動態創建以下JSON結構
{
"items":
{
"Popcorn":
[
{
"name": "RegularPack"
},
{
"name": "Bucket"
}
],
"Chips":
[
{
"name": "HotChips"
},
{
"name": "UncleChips"
}
]
}
}
我已經嘗試過了,但是不確定如何做。
有人可以幫我嗎?
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.json.JSONException;
public class TEST {
public static void main(String[] args) throws JSONException {
Map<String, ArrayList<String>> data = new HashMap<String, ArrayList<String>>();
ArrayList<String> popcornlist = new ArrayList<String>();
popcornlist.add("Regular Pack");
popcornlist.add("Bucket");
ArrayList<String> chipslist = new ArrayList<String>();
chipslist.add("HotChips");
chipslist.add("Uncle Chips");
data.put("Popcorn", popcornlist);
data.put("Chips", chipslist);
Iterator iterator=data.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry e = ( Map.Entry ) iterator.next ( ) ;
System.out.println("key: "+e.getKey());
}
}
}
有人可以告訴我在哪里打開JSONObject和JSONArray嗎?
我為此使用org.json。
請查看以下鏈接,該鏈接指示何時使用JSONObject和JSONArray 。 使用GSON將Java對象發送回前端並使用一些客戶端代碼將其解析為JSON對象可能會更容易
用Java編碼JSON
import org.json.simple.JSONObject;
class JsonEncodeDemo
{
public static void main(String[] args)
{
JSONObject obj = new JSONObject();
obj.put("name", "foo");
obj.put("num", new Integer(100));
obj.put("balance", new Double(1000.21));
obj.put("is_vip", new Boolean(true));
System.out.print(obj);
}
}
產量
{"balance": 1000.21, "num":100, "is_vip":true, "name":"foo"}
用Java解碼JSON
import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
import org.json.simple.parser.ParseException;
import org.json.simple.parser.JSONParser;
class JsonDecodeDemo
{
public static void main(String[] args)
{
JSONParser parser=new JSONParser();
String s = "[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]";
try{
Object obj = parser.parse(s);
JSONArray array = (JSONArray)obj;
System.out.println("The 2nd element of array");
System.out.println(array.get(1));
System.out.println();
JSONObject obj2 = (JSONObject)array.get(1);
System.out.println("Field \"1\"");
System.out.println(obj2.get("1"));
s = "{}";
obj = parser.parse(s);
System.out.println(obj);
s= "[5,]";
obj = parser.parse(s);
System.out.println(obj);
s= "[5,,2]";
obj = parser.parse(s);
System.out.println(obj);
}catch(ParseException pe){
System.out.println("position: " + pe.getPosition());
System.out.println(pe);
}
}
}
產量
The 2nd element of array
{"1":{"2":{"3":{"4":[5,{"6":7}]}}}}
Field "1"
{"2":{"3":{"4":[5,{"6":7}]}}}
{}
[5]
[5,2]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.