如何使用Gson解析嵌套数组的json对象列表

时间:2015-04-23 20:32:04

标签: java list gson

我是Gson的新手,对java不太熟悉。我有一个json对象列表,然后在每个对象中列出如下:

do_something(key1 => 'value1', key2 => 'value2');

sub do_something {
    my %args = (key1 => '',
                key2 => '',
                key3 => '',
                @_
               );

    print $args{key1} . $args{key2} . $args{key3};
}

我希望详细或逐步回答如何执行此操作以及使用哪些类和方法。

1 个答案:

答案 0 :(得分:1)

你有没有尝试过任何东西(网上已经有很多例子可用)?

使用谷歌' https://github.com/google/gson'库。

JSON format: <Attribute_Name> : <Value>
[] --> List or Array
{} --> Single Object

现在创建一个Java POJO,就像JSON结构一样。

class Data {
    private Integer A;
    private String B;
    private List<String> C;
    private Double D;
    private String E;
    private String F;
    }

现在使用GSON库来解析字符串。

 public static void main(String[] args) {
    String data = "[{\"A\":358584,\"B\":\"Apache\",\"C\":[\"Ethnicity\",\"Ethnicity in fiction\",\"American Indian group\"],\"D\":23.647824738317627,\"E\":\"Ethnicity\",\"F\":\"Apache\"},{\"A\":19283806,\"B\":\"San Jose\",\"C\":[\"Location\",\"Employer\",\"Region\",\"Transit Service Area\"],\"D\":11.184500611578535,\"E\":\"Location\",\"F\":\"San Francisco Bay Area\"}]";

    Data[] dataArray = (new Gson()).fromJson(data, Data[].class);
    if (dataArray != null) {
        System.out.println(dataArray.length);
    }
    }