2011-07-11 47 views
0

我想创建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" 
        } 
       ] 
      } 

我想创建这个JSON与GSON的帮助下, 在此先感谢。

+0

你有什么麻烦?让我们看看一些Java代码。 –

+0

你试过了吗?你的问题是什么?请发布完整的代码示例。 – Vinnyq12

+0

我可以创建简单的JSON,它具有{“KEY”:“Value”},但我真的不知道,如何创建这种类型的复杂JSON。身体有一个关键,该关键还包含数组...请帮助我 – Nimit

回答

1

原始问题中的目标JSON示例无效。 JSON必须以'['或'{'开头。如果原始问题中的无效JSON包含在'{'和'}'中,那么它是一个有效的JSON对象。 (使用http://jsonlint.com可以很容易地验证JSON。)假设这样一个JSON对象是目标数据结构,以下是使用Gson匹配的Java数据结构来生成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; } 
}