java类到json

时间:2011-05-13 12:00:03

标签: json gson

有人可以帮助我使用json序列化后产生json结果的java类:

{
   "cinemas":[
   { 
      "id":1,
      "name":"Aberdeen Queen's Links",
      "cinema_url":"http://www.cineworld.co.uk/cinemas/1"
   }]
}

3 个答案:

答案 0 :(得分:1)

如果您希望在Java中操作JSON,可以使用此库:

http://code.google.com/p/google-gson/

答案 1 :(得分:1)

这是你想要的吗?它叫做手动喂食=。=你应该检查一些教程虽然你的代码祝你好运..

    String text = "{\"cinemas\":[{\"id\":1,\"name\":\"Aberdeen Queen's Links\",\"cinema_url\":\"http://www.cineworld.co.uk/cinemas/1\"}]}";

    try {
        JSONObject myJSONObject = new JSONObject(text);
        //replace text with the ACTUAL json response text
        JSONArray myArray = myJSONObject.getJSONArray("cinemas");
        int id = myArray.getJSONObject(0).getInt("id");
        String name = myArray.getJSONObject(0).getString("name");
        String cinema_url = myArray.getJSONObject(0).getString("cinema_url");
        //do what you want here
    } catch (JSONException e) {
    }

答案 2 :(得分:0)

通过执行以下操作,我能够生成该结构:

我假设你正在使用某种包含id,name和Url的Cinema对象。

我创建了一个Cinema的ArrayList,里面有一个影院对象。然后我将该ArrayList放入HashMap,关键字为“cinemas”

我使用了flexjson并在地图上做了一个deepSerialize并得到了你上面提到的确切结构。

这是一个例子:         Cinema c = new Cinema();         c.setId(1);         c.setName(“Aberdeen Queen's Links”);         c.setCinemaUrl( “http://www.cineworld.co.uk/cinemas/1”);

    Map<String, List<Cinema>> m = new HashMap<String, List<Cinema>>();
    List<Cinema> a = new ArrayList<Cinema>();
    a.add(c);
    m.put("cinemas", a);

    System.out.println(new JSONSerializer().deepSerialize(m));