我是java的新手,想问一些新手的问题。我的任务是使用API通过函数incomingIM()接收json对象。一旦我将其作为字符串接收,就将该json对象传递给序列化的函数,并使用GSONE java Library将其转换为Java对象。
我的第一个问题是,我能以字符串的形式传递对象吗?我能以这种方式传递吗?
中实现的。
//接收字符串字符串中的Json对象并传递给函数serialization()
public void incomingIM(IncomingImInterface incomingImInterface) {
String str=incomingImInterface.getMessage();
serialization(str);
}
//使用GSON java库解析json to java对象//将值从Json对象传递到java对象
public MainActivity(String name,String age){
this.name=name;
this.age=age;
}
//接受json对象为字符串,并使用GSON库将其转换为java对象
public static void serialization(String str){
String userJson= str;
Gson gson = new Gson();
MainActivity userSimple = gson.fromJson(userJson, MainActivity.class);
}
发布于 2018-09-20 04:47:03
您绝对可以将JSON作为字符串进行传递,这是正常的方式。只需在需要时使用GSON或Jackson解析字符串,反之亦然。您可以直接转到POJO或从POJO转到POJO,或者只使用地图。
许多web框架(例如Spring)会很高兴地自动为你将JSON从字符串转换为java-object (POJO),如果你正确地设置它们的话(他们倾向于利用Jackson )。它们也会在返回响应时转换回来。我想说这是web代码的首选方法。但是,如果你不是用web代码,那么手动做这件事是很正常的。
https://stackoverflow.com/questions/52413922
复制相似问题