2011-07-11 49 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; } 
}