我正在尝试动态创建以下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。
答案 0 :(得分:1)
请参阅以下链接,该链接指示何时使用JSONObject and JSONArray。 将java对象发送回前端并使用一些客户端代码使用GSON将其解析为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]