我正在尝试解析其格式如下的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格式做到这一点?
答案 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;