2017-08-03 87 views
0

我能夠以正常方式解析Json數組下面的這個。但是現在我想用Model Classes解析這個String。我怎樣才能做到這一點。如何使用模型類來解析此Json格式化數據

[ 
     { 
      "Id": "-1", 
      "Name": "name1", 

      "Children": [ 
{ 
        "Id": "2", 
        "Name": "name2", 
        "Children": [ 
         { 
          "Id": "3", 
          "Name": "name3", 
          "Children": [ 
           { 
            "Id": "15", 
            "Name": "name222", 
            "Children": [ 
             { 
              "Id": "16", 
              "Name": "xddxxcc", 
             }, 
             { 
              "Id": "20", 
              "Name": "sdd", 

              "Children": [] 
             }, 
             { 
              "Id": "23", 
              "Name": "cdaca", 

              "Children": [] 
             }, 
             { 
              "Id": "28", 
              "Name": "assa", 
              "Children": [ ] 
             } 
            ] 
           }, 

         { 
          "Id": "15", 
          "Name": "fdcds" 
          "Children": [] 
         }]}]}] 

我已採取模型類如下。

class Model1{ 
String id; 
String Name; 
ArrayList<Children>Children=new ArrayList<>(); 
//Getters and setters 
} 

和Children.class文件是

class Children{ 
String id; 
    String Name; 
    ArrayList<Children>Children=new ArrayList<>(); 
    //Getters and setters 
} 

請有人幫助我。提前致謝

+0

對於所有對象,您可以使用1個類,因爲您的2個類是相等的。但是,究竟是什麼問題呢?爲什麼你不能做你想做的事? –

+0

是的但我正在第一次與此工作。請建議我好答案 – basha

+1

'請建議我好答案 - 首先澄清一下,'究竟是什麼問題? ' –

回答

2

您的JSON無效。下面正確:

[ 
    { 
     "Id":"-1", 
     "Name":"name1", 
     "Children":[ 
     { 
      "Id":"2", 
      "Name":"name2", 
      "Children":[ 
       { 
        "Id":"3", 
        "Name":"name3", 
        "Children":[ 
        { 
         "Id":"15", 
         "Name":"name222", 
         "Children":[ 
          { 
           "Id":"16", 
           "Name":"xddxxcc", 
           "Children":[ 

           ] 
          }, 
          { 
           "Id":"20", 
           "Name":"sdd", 
           "Children":[ 

           ] 
          }, 
          { 
           "Id":"23", 
           "Name":"cdaca", 
           "Children":[ 

           ] 
          }, 
          { 
           "Id":"28", 
           "Name":"assa", 
           "Children":[ 

           ] 
          } 
         ] 
        }, 
        { 
         "Id":"15", 
         "Name":"fdcds", 
         "Children":[ 

         ] 
        } 
        ] 
       } 
      ] 
     } 
     ] 
    } 
] 

這是你的模型:

public class Child 
{ 
    public string Id { get; set; } 
    public string Name { get; set; } 
    public Child[] Children { get; set; } 
} 

而對於解析JSON到模型中使用:(我假設你使用的是Java)(reference

傑克遜

import com.fasterxml.jackson.databind.ObjectMapper; 
ObjectMapper mapper = new ObjectMapper(); 
Child[] myObjects = mapper.readValue(json, Child[].class) 

GSON

Gson gson = new Gson(); 
Child[] myObjects = gson.fromJson(json, Child[].class); 
+0

你能否建議我使用Gson – basha

+0

我已經更新了我的答案 – tinamou

+0

現在就試試吧...... – basha