如何创建复杂的结构化JSON

时间:2011-07-11 12:02:42

标签: android json

我想创建JSON,格式就像

"header":
            {
                "b":"aaaa",
                "c":"00",
                "d":"zzzzz",
                "e": "0"
            },
"Body":
            {
                "g":
                [
                    {
                        "h": "sss",
                        "i": "vvvv",
                        "j": "11111"
                    },
                    {
                        "h": "wwww",
                        "i": "ddddd",
                        "j": "0000"
                    },
                    {
                        "h": "eeeee",
                        "i": "asdf"
                    }
                ]
            }

我想在GSON的帮助下创建这个JSON, 提前谢谢。

2 个答案:

答案 0 :(得分:1)

原始问题中的目标JSON示例无效。 JSON必须以'['或'{'开头。如果原始问题中的无效JSON包含在“{”和“}”中,则它是有效的JSON对象。 (使用http://jsonlint.com来验证JSON很容易。)假设这样的JSON对象是目标数据结构,下面是使用匹配的Java数据结构与Gson生成JSON的示例。

import java.util.ArrayList;
import java.util.List;

import com.google.gson.Gson;

public class Foo
{
  public static void main(String[] args) throws Exception
  {
    Header header = new Header("aaaa", "00", "zzzzz", "0");
    List<Gs> g = new ArrayList<Gs>();
    g.add(new Gs("sss", "vvvv", "11111"));
    g.add(new Gs("wwww", "ddddd", "0000"));
    g.add(new Gs("eeeee", "asdf", null));
    Body body = new Body(g);
    Message message = new Message(header, body);

    System.out.println(new Gson().toJson(message));
  }
}

class Message
{
  Header header;
  Body Body;

  Message(Header header, Body body)
  { this.header = header; this.Body = body; }
}

class Header
{
  String b;
  String c;
  String d;
  String e;

  Header(String b, String c, String d, String e)
  { this.b = b; this.c = c; this.d = d; this.e = e; }
}

class Body
{
  List<Gs> g;

  Body(List<Gs> g)
  { this.g = g; }
}

class Gs
{
  String h;
  String i;
  String j;

  Gs(String h, String i, String j)
  { this.h = h; this.i = i; this.j = j; }
}

答案 1 :(得分:0)

如果您想创建JSON,请查看以下链接。这详细说明了如何以JSON格式对数据进行编码:http://code.google.com/p/json-simple/wiki/EncodingExamples#Example_1-1_-_Encode_a_JSON_object