Java 如何动态创建以下JSON结构
我正在尝试动态创建以下JSON结构Java 如何动态创建以下JSON结构,java,json,Java,Json,我正在尝试动态创建以下JSON结构 { "items": { "Popcorn": [ { "name": "RegularPack" }, { "name": "Bucket" } ],
{
"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());
}
}
}
import java.util.ArrayList;
导入java.util.HashMap;
导入java.util.Iterator;
导入java.util.Map;
导入org.json.JSONException;
公开课考试{
公共静态void main(字符串[]args)抛出JSONException{
映射数据=新的HashMap();
ArrayList popcornlist=新的ArrayList();
爆米花列表。添加(“常规包装”);
爆米花列表。添加(“桶”);
ArrayList chipslist=新的ArrayList();
芯片列表。添加(“热芯片”);
芯片列表。添加(“芯片叔叔”);
数据。放置(“爆米花”,爆米花列表);
数据输入(“芯片”,芯片列表);
迭代器迭代器=data.entrySet().Iterator();
while(iterator.hasNext()){
Map.Entry e=(Map.Entry)iterator.next();
System.out.println(“key:+e.getKey());
}
}
}
谁能告诉我在哪里打开JSONObject和JSONArray
我使用org.json来实现这一点 请查看下面的链接,该链接指示何时使用。 将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);
}
}
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);
}
}
}
输出
{"balance": 1000.21, "num":100, "is_vip":true, "name":"foo"}
The 2nd element of array
{"1":{"2":{"3":{"4":[5,{"6":7}]}}}}
Field "1"
{"2":{"3":{"4":[5,{"6":7}]}}}
{}
[5]
[5,2]
在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);
}
}
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);
}
}
}
输出
{"balance": 1000.21, "num":100, "is_vip":true, "name":"foo"}
The 2nd element of array
{"1":{"2":{"3":{"4":[5,{"6":7}]}}}}
Field "1"
{"2":{"3":{"4":[5,{"6":7}]}}}
{}
[5]
[5,2]
您必须在服务器端执行此操作吗?在客户端使用javascriptYa可能更容易,我在服务器端有数据,我需要创建一个JSON将其发送到前端。我想说的是,您可以创建一个java对象项,其中包含对象爆米花和芯片,这两者都是一个列表,然后您可以将对象作为java对象返回到前端,然后在客户端使用java脚本将其解析为JSON对象。只是一点关于你能做什么的建议。您使用的是什么技术客户机/服务器?您为什么要这样做?您正在尝试设置RESTful Web服务吗?如果是这样,您应该真正使用标准的JAX-RSAPI,以便以特定格式解析和传输对象的所有艰苦工作都能为您解决。