我想创建一个如下所示的Json对象:
{"name": "Maximum", "children": [
{"name": "where", "size": 299},
{"name": "xor", "size": 354},
{"name": "_", "size": 264}
]
}
用于创建上述Json字符串的库以及代码应该如何?
答案 0 :(得分:4)
试试gson。它对此有很好的支持。看看这个user guide。
您的班级结构如下:
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);
答案 1 :(得分:1)
尝试XStream Json Parser。我用过它。
答案 2 :(得分:0)
这是简单的javascript。
var obj = {"name": "Maximum"};
var children = [];
children.push({"name":"where", "size": 299});
obj["children"] = children;
答案 3 :(得分:0)
使用jettison你可以做类似的事情:
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());
}
}