我有Json String看起来像这样
String RET=[{"id":"1","name":"koukouvagia","category":"c","lat":"35.52563370000000","lon":"24.05584680000000","address":"Alexi Minoti","phone":"2821027449","counter":"0"},{"id":"2","name":"theatro","category":"c","lat":"35.51392000000000","lon":"24.01979000000000","address":"Plateia Agoras 69","phone":"2821008500","counter":"0"},{"id":"3","name":"mikro kafe","category":"c","lat":"35.51700560000000","lon":"24.02495420000000","address":"Akth Miaouli 6","phone":"2821059321","counter":"0"},{"id":"4","name":"mikro efeteio","category":"c","lat":"35.51033020000000","lon":"24.03102900000000","address":"Plateia Dikastirion","phone":"2821028112","counter":"0"},{"id":"5","name":"Grhgorhs","category":"c","lat":"35.51355300000000","lon":"24.02024900000000","address":"N.Plasthra \u0026 S.Venizelou","phone":"0","counter":"0"}]
并希望将此Json字符串转换为对象的数组列表,并将所有元素放在类(数据Object.class)上并打印元素。
Type listOfTestObject=new TypeToken<List<DataObject>>(){}.getType();
List<DataObject> list2 = g.fromJson(RET, listOfTestObject);
for(int i = 0; i < list2.size(); i++) {
System.out.println(list2.get(i).getNameF());
}
输出为:
null
null
null
null
null
我创建的类具有这种形式
public class DataObject {
String idF;
String nameF;
String categoryF;
String latF;
String lonF;
String addressF;
String phoneF;
String counterF;
public String getIdF() {
return idF;
}
public void setIdF(String idF) {
this.idF = idF;
}
public String getNameF() {
return nameF;
}
public void setNameF(String nameF) {
this.nameF = nameF;}
.
.
.
}
我做错了什么?
列表
List<DataObject> list2 = new ArrayList<DataObject>((DataObject[])g.fromJson(RET, DataObject[]));
for(int i = 0; i < list2.size(); i++) {
System.out.println(list2.get(i).getNameF());
}
您还应该为解析器解释,哪个字段连接到哪个JSON参数。如果使用GSON解析器,则可以编写注释。或者对于jackson,你应该重新命名你的getter和setter,正如评论中告诉你的那样。
注释应该放在下一步:
class DataObject {
@SerializedName("id")
String idF;
}
并在括号中用JSON字符串写入字段名
修复它所要做的就是向每个字段添加注释:
@SerializedName("id")
String idF;
@SerializedName("name")
String nameF;
问题内容: 我有一个JSON响应,我需要将对应的JSON字符串映射到特定的Response类,是否有任何工具或框架可以做到这一点。 响应类为: Json响应字符串为{“ 0”:{“ 0”:“ Rockey”,“ 1”:“ John”}} 我将Apache CXF Framework与Jettison一起使用,因为JSON Provider还使用JAXB将数据连接到低带宽客户端。 请注意,我要将数字
问题内容: 这是以前有关Java中的String初始化的一些问题的后续问题。 在用Java进行了一些小测试之后,我面临以下问题: 为什么我可以执行此语句 当str2一个String对象初始化为,但我不能调用方法toString()上str2?那么Java如何将空字符串对象和字符串文字串联起来? 顺便说一句,我还尝试将一个初始化为null和字符串文字的Integer连接起来,”a_literal_s
我正在开发一个Android应用程序。在我的应用程序中,我必须将字符串转换为JSON对象,然后解析值。我检查了Stackoverflow中的解决方案,并在这里的链接中发现了类似的问题 解决办法是这样的
我有这样一个XML字符串: 当我试图将字符串读入这样的对象时 我得到以下错误: 我在类中使用@JsonProperty是因为@XmlElement还有其他问题。如果我在ResultModel类中排除字段QueryResults,那么字符串的解析工作正常,看起来是正确的。我做错了什么?我对Java中XML字符串的解析非常陌生,所以我希望有一些简单的方法来解决这个问题。。。
问题内容: 我正在开发一个Android应用程序。在我的应用程序中,我必须将字符串转换为Json Object,然后解析值。我检查了stackoverflow中的解决方案,并在此处找到了类似的问题链接 解决方案是这样的 我在代码中使用相同的方式。我的绳子是 替换后,我得到了这样的结果 当我执行 我收到以下json异常 请帮助我解决我的问题。 问题答案: 删除斜杠: