Java 如何编写以下Json对象?
我想创建一个Json对象,如下所示:Java 如何编写以下Json对象?,java,json,gson,Java,Json,Gson,我想创建一个Json对象,如下所示: {"name": "Maximum", "children": [ {"name": "where", "size": 299}, {"name": "xor", "size": 354}, {"name": "_", "size": 264} ] } 使用哪个库来创建上面的Json字符串以及代码应
{"name": "Maximum", "children": [
{"name": "where", "size": 299},
{"name": "xor", "size": 354},
{"name": "_", "size": 264}
]
}
使用哪个库来创建上面的Json字符串以及代码应该是什么样子?这是简单的javascript
var obj = {"name": "Maximum"};
var children = [];
children.push({"name":"where", "size": 299});
obj["children"] = children;
试试看。它对此有很好的支持。看看这个
您的类结构如下所示:
class Parent{
String name;
Children[] children;
//getter and setter
}
class Children{
String name;
int size;
//getter and setter
}
然后在代码中:
Parent parent = new Parent();
//poppulate parent object with required values
Gson gson = new Gson();
gson.toJson(parent);
尝试XStream Json解析器。我已经用过了 有了它,您可以做类似的事情:
import java.util.ArrayList;
import java.util.List;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
public class JSONTest {
public static void main(final String[] args) throws JSONException {
final JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "Maximum");
final List<JSONObject> children = new ArrayList<JSONObject>();
final JSONObject child1 = new JSONObject();
child1.put("name", "where");
child1.put("size", 299);
children.add(child1);
final JSONObject child2 = new JSONObject();
child2.put("name", "xor");
child2.put("size", 354);
children.add(child2);
final JSONObject child3 = new JSONObject();
child3.put("name", "_");
child3.put("size", 264);
children.add(child3);
jsonObject.put("children", children);
System.out.println(jsonObject.toString());
}
}
import java.util.ArrayList;
导入java.util.List;
导入org.codehaus.jettison.json.JSONException;
导入org.codehaus.jettison.json.JSONObject;
公共类JSONTest{
公共静态void main(最终字符串[]args)抛出JSONException{
final JSONObject JSONObject=new JSONObject();
jsonObject.put(“名称”、“最大值”);
最终列表子项=新的ArrayList();
final JSONObject child1=新JSONObject();
子女1.填写(“姓名”、“所在地”);
child1.put(“大小”,299);
添加(child1);
final JSONObject child2=新的JSONObject();
儿童2.输入(“姓名”、“异或”);
儿童2.放置(“尺寸”,354);
添加(child2);
final JSONObject child3=新JSONObject();
孩子3.把(“姓名”和“”);
儿童3.放置(“尺寸”,264);
添加(child3);
jsonObject.put(“儿童”,儿童);
System.out.println(jsonObject.toString());
}
}
当您的问题被标记为GSON时,您正在询问哪个库?我尝试了GSON,但不知何故没有返回所需的结果。所以,我想我应该加上这个标签来确认。你认为Gson可以创建上面的字符串吗?我很肯定它可以。一种简单的方法是定义两个类,其中一个类将具有字符串名称和子类[]。Children类将有两个属性String name和int size。不过,我不知道是否有更好的方法(例如列表),这可能会有所帮助:问题是Java。爪哇!=Javascript。