SORU
6 Kasım 2009, Cuma


Dönüştürme Java için JSON

Java eylem benim yöntem içinde bir JSON dize özellikleri erişmek mümkün olmak istiyorum. Dize sadece myJsonString = object.getJson() diyerek mevcuttur. Aşağıda dize gibi görünebilir ne bir örnek:

{
    'title': 'ComputingandInformationsystems',
    'id': 1,
    'children': 'true',
    'groups': [{
        'title': 'LeveloneCIS',
        'id': 2,
        'children': 'true',
        'groups': [{
            'title': 'IntroToComputingandInternet',
            'id': 3,
            'children': 'false',
            'groups': []
        }]
    }]
}

Bu dize her JSON nesne diğer JSON nesneleri bir dizi içerir. Niyeti başka JSON nesneleri içeren bir grup özelliğine sahip, herhangi bir nesnenin nerede Kimlikleri listesini çıkarmak. Potansiyel bir JSON eklentisi olarak Google Gson baktım. Herkes bu JSON dize Java üretebilirsiniz nasıl rehberlik çeşit sunabilir?

CEVAP
6 Kasım 2009, Cuma


Potansiyel bir JSON eklentisi olarak Google Gson baktım. Herkes bu JSON dize Java üretebilirsiniz nasıl rehberlik çeşit sunabilir?

Google Gson jenerik ve iç içe fasulye destekler. JSON [] bir dizi temsil eder ve List ya da sadece düz bir Java dizi gibi Java koleksiyonu göster. JSON {} bir nesneyi temsil eder ve bir Java göster Map ya da sadece bazı JavaBean class.

Hangi groups özelliği çok aynı türden nesneleri iç içe geçmiş bir dizi temsil eder ve birçok özelliği olan bir JSON nesnesi var. Bu aşağıdaki şekilde Gson ile ayrıştırılması:

package com.stackoverflow.q1688099;

import java.util.List;
import com.google.gson.Gson;

public class Test {

    public static void main(String... args) throws Exception {
        String json = 
            "{"
                  "'title': 'Computing and Information systems',"
                  "'id' : 1,"
                  "'children' : 'true',"
                  "'groups' : [{"
                      "'title' : 'Level one CIS',"
                      "'id' : 2,"
                      "'children' : 'true',"
                      "'groups' : [{"
                          "'title' : 'Intro To Computing and Internet',"
                          "'id' : 3,"
                          "'children': 'false',"
                          "'groups':[]"
                      "}]" 
                  "}]"
              "}";

        // Now do the magic.
        Data data = new Gson().fromJson(json, Data.class);

        // Show it.
        System.out.println(data);
    }

}

class Data {
    private String title;
    private Long id;
    private Boolean children;
    private List<Data> groups;

    public String getTitle() { return title; }
    public Long getId() { return id; }
    public Boolean getChildren() { return children; }
    public List<Data> getGroups() { return groups; }

    public void setTitle(String title) { this.title = title; }
    public void setId(Long id) { this.id = id; }
    public void setChildren(Boolean children) { this.children = children; }
    public void setGroups(List<Data> groups) { this.groups = groups; }

    public String toString() {
        return String.format("title:%s,id:%d,children:%s,groups:%s", title, id, children, groups);
    }
}

Oldukça basit, değil mi? Sadece uygun JavaBean ve bir Ara Gson#fromJson().

Ayrıca Bkz:

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Schoon

    Ben Schoon

    23 Kasım 2012
  • theatre2film

    theatre2film

    12 NİSAN 2006
  • VJ VIMANA

    VJ VIMANA

    3 Mayıs 2007