将JSON解析为Java 2-D阵列

时间:2016-10-19 18:51:45

标签: java arrays json

我正在尝试解析其格式如下的JSON:

{"user_name":"","zip_code":null}
{"user_name":"","zip_code":null}
{"user_name":"","zip_code":null}
{"user_name":"","zip_code":null}

显示特定数据库中的用户数量。但是,用户数量不明。

我想做的是将每个用户及其数据分配到二维数组中的自己的数组

String[][] users = new String[USER_AMOUNT][2];

(2为user_name和zip_code)

有没有办法用给定的JSON格式做到这一点?

2 个答案:

答案 0 :(得分:0)

是的,有一种方法,你可以使用Gson库来实现同样的目标。

首先使用与Json相同的字段定义POJO(Plain Old Java Object)。

public class User {

    private String user_name;
    private String zip_code;

    public String getZip_code() {
        return zip_code;
    }

    public void setZip_code(String zip_code) {
        this.zip_code = zip_code;
    }

    public String getUser_name() {
        return user_name;
    }

    public void setUser_name(String user_name) {
        this.user_name = user_name;
    }
}

然后编写驱动程序类:

import com.google.gson.Gson;

public class JsonToJavaObjMapper {

    public static void main(String[] args) {
        String jsonString = "{\"user_name\":\"Azim\",\"zip_code\":null}";
        Gson gson = new Gson();
        User fromJson = gson.fromJson(jsonString, User.class);
        System.out.println(fromJson.getUser_name() + " " + fromJson.getZip_code());
    }
}

将gson jar包含在类路径中并运行上面的类。

<强>输出:

Azim null

也许这段代码对你有帮助。

答案 1 :(得分:0)

如果你真的想让String [] []用户回来,你需要使用序列化器或反序列化器来实现它。我使用Oson library来执行此操作:

int a = 5*2;