java如何在每个Json字符串中返回不同的变量时有效地将Json解析为对象
我需要一些关于Java中JSON解析的建议。对于一些实时更新,我得到如下JSON响应(服务器只返回具有新值的变量):
{"33":"7153", "170":"AA","151":10}
{"33":"7153","rate":0.5488,"45":"U05"}
{"33":"7153", "98":7.38,"132":583}
你知道我该如何高效地编写一个解析器来将它们解析为对象,而不是每次都这样做吗
String str = "{\"33\":\"7153\", \"170\":\"AA\",\"151\":10}";
JSONObject json = new JSONObject(str);
Product s = new Product();
if (json.has("33")) s.setCode(json.getString("33"));
if (json.has("170")) s.setName(json.getString("170"));
if (json.has("151")) s.setPointer(json.getString("151"));
if (json.has("98")) s.setPrice(json.getString("98"));
if (json.has("rate")) s.setRate(json.getString("rate"));
if (json.has("132")) s.setValue(json.getString("132"));
if (json.has("45")) s.setDescription(json.getString("45"));
# 1 楼答案
使用谷歌Gson
及
# 2 楼答案
在每个setCode(字符串x)、setName(字符串x)、setPointer(字符串x)、setPrice(字符串x)中。。。检查一下: 如果(x==null) 回归
然后,在解析Json时,不必检查Json的响应是否有键