如何检查json中的键,以及它是否存在,然后在java模型对象中设置值
我有一个用默认值初始化的模型对象。为了刷新对象的内容,我调用一个web服务,从json对象获取响应和内容。 我想检查json响应是否包含该对象。如果有,则调用setter并设置数据;如果没有,则离开,则不设置数据。我的对象中有大约300个字段。我如何用更少的代码完成它。我列出了我目前的方法如何检查json中的键,以及它是否存在,然后在java模型对象中设置值,java,json,Java,Json,我有一个用默认值初始化的模型对象。为了刷新对象的内容,我调用一个web服务,从json对象获取响应和内容。 我想检查json响应是否包含该对象。如果有,则调用setter并设置数据;如果没有,则离开,则不设置数据。我的对象中有大约300个字段。我如何用更少的代码完成它。我列出了我目前的方法 我的模型对象是 public class MyObject { private String str1 = "Initial Value1"; private String str2 = "
public class MyObject {
private String str1 = "Initial Value1";
private String str2 = "Initial Value2";
public void setStr1(String str1)
{
this.str1 = str1;
}
public void setStr2(String str2)
{
this.str2 = str2;
}
public String getStr1(){
return str1;
}
public String getStr2(){
return str2;
}
}
{
"val_one":"New Value1",
"val_two":"New_value2"
}
现在在运行时,我需要设置json响应的值
MyObject myObject = new MyObject();
if(jsonObject.has("val_one"));
myObject.setStr1(jsonObject.get("val_one"));
if(jsonObject.has("val_two"));
myObject.setStr2(jsonObject.get("val_two"));
现在,如何以更好、更高效的方式进行此操作您为什么希望自己使用对象模型映射?如果你使用spring,那么你可以使用jackson mapper并为你完成所有的工作。 如果您不想使用spring,那么仍然可以使用jackson2并让它处理解析:
为什么要自己进行对象模型映射?如果你使用spring,那么你可以使用jackson mapper并为你完成所有的工作。 如果您不想使用spring,那么仍然可以使用jackson2并让它处理解析:
为什么要自己进行对象模型映射?如果你使用spring,那么你可以使用jackson mapper并为你完成所有的工作。 如果您不想使用spring,那么仍然可以使用jackson2并让它处理解析:
为什么要自己进行对象模型映射?如果你使用spring,那么你可以使用jackson mapper并为你完成所有的工作。 如果您不想使用spring,那么仍然可以使用jackson2并让它处理解析:
如果双方都在使用JAVA,那么为什么不使用json io呢。您可以创建一个正常的对象。即
Animal a = new Aminmal() andimal.setName("bob");
然后使用json io将其转换为json——流到需要的地方。。。使用json io更改回对象
这可以通过使用
JsonWriter.objectToJson(Object o);
JsonReader.jsonToJava(String json);
json io也比我使用过的大多数(如果不是所有的话)第三方json库重量非常轻,速度更快
也就是说,如果您想对输出进行更多控制,即。。日期转换等。。然后看看格森
如果双方都在使用JAVA,那么为什么不使用json io呢。您可以创建一个正常的对象。即
Animal a = new Aminmal() andimal.setName("bob");
然后使用json io将其转换为json——流到需要的地方。。。使用json io更改回对象
这可以通过使用
JsonWriter.objectToJson(Object o);
JsonReader.jsonToJava(String json);
json io也比我使用过的大多数(如果不是所有的话)第三方json库重量非常轻,速度更快
也就是说,如果您想对输出进行更多控制,即。。日期转换等。。然后看看格森
如果双方都在使用JAVA,那么为什么不使用json io呢。您可以创建一个正常的对象。即
Animal a = new Aminmal() andimal.setName("bob");
然后使用json io将其转换为json——流到需要的地方。。。使用json io更改回对象
这可以通过使用
JsonWriter.objectToJson(Object o);
JsonReader.jsonToJava(String json);
json io也比我使用过的大多数(如果不是所有的话)第三方json库重量非常轻,速度更快
也就是说,如果您想对输出进行更多控制,即。。日期转换等。。然后看看格森
如果双方都在使用JAVA,那么为什么不使用json io呢。您可以创建一个正常的对象。即
Animal a = new Aminmal() andimal.setName("bob");
然后使用json io将其转换为json——流到需要的地方。。。使用json io更改回对象
这可以通过使用
JsonWriter.objectToJson(Object o);
JsonReader.jsonToJava(String json);
json io也比我使用过的大多数(如果不是所有的话)第三方json库重量非常轻,速度更快
也就是说,如果您想对输出进行更多控制,即。。日期转换等。。然后看看格森
除了其他建议之外,另一个选择是gson。这里是信息链接 gson的基本思想是定义一个对象来表示您正在接收的JSON结构。因此,与现在的情况类似,您只需要更改对象属性以匹配JSON字段的名称,即“val_one”和“val_two” 然后您只需要使用gson从JSON文本创建对象,例如:
Gson gson = new GsonBuilder().create();
MyObject json = gson.fromJson(jsonStr, MyObject.class);
除了其他建议之外,另一个选择是gson。这里是信息链接 gson的基本思想是定义一个对象来表示您正在接收的JSON结构。因此,与现在的情况类似,您只需要更改对象属性以匹配JSON字段的名称,即“val_one”和“val_two” 然后您只需要使用gson从JSON文本创建对象,例如:
Gson gson = new GsonBuilder().create();
MyObject json = gson.fromJson(jsonStr, MyObject.class);
除了其他建议之外,另一个选择是gson。这里是信息链接 gson的基本思想是定义一个对象来表示您正在接收的JSON结构。因此,与现在的情况类似,您只需要更改对象属性以匹配JSON字段的名称,即“val_one”和“val_two” 然后您只需要使用gson从JSON文本创建对象,例如:
Gson gson = new GsonBuilder().create();
MyObject json = gson.fromJson(jsonStr, MyObject.class);
除了其他建议之外,另一个选择是gson。这里是信息链接 gson的基本思想是定义一个对象来表示您正在接收的JSON结构。因此,与现在的情况类似,您只需要更改对象属性以匹配JSON字段的名称,即“val_one”和“val_two” 然后您只需要使用gson从JSON文本创建对象,例如:
Gson gson = new GsonBuilder().create();
MyObject json = gson.fromJson(jsonStr, MyObject.class);
我在我的android代码中使用了这个。我从未使用过jakson解析器。我知道它与android一起使用。如果您能以代码段的形式给出一些指针,那就太好了。提前感谢。这并不困难,您可以在这里为spring android模板使用如下指南: