-1

我想创建一个 Json 对象,如下所示:

{"name": "Maximum", "children": [
                    {"name": "where", "size": 299},
                    {"name": "xor", "size": 354},
                    {"name": "_", "size": 264}
                    ]
}

使用哪个库来创建上面的 Json 字符串以及代码应该是什么样子?

4

4 回答 4

4

尝试gson。它对此有很好的支持。查看此用户指南

您的类结构如下所示:

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);
于 2012-07-11T05:39:52.447 回答
1

试试 XStream Json 解析器。我用过。

http://x-stream.github.io/json-tutorial.html

于 2012-07-11T05:46:06.533 回答
0

这是简单的javascript。

var obj = {"name": "Maximum"};
var children = [];
children.push({"name":"where", "size": 299});
obj["children"] = children;
于 2012-07-11T05:32:02.497 回答
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());

  }

}
于 2012-07-11T06:03:53.497 回答