【发布时间】:2014-11-20 15:42:53
【问题描述】:
我有 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 字符串转换为 Objects 的数组列表并将所有元素放在一个类(Data 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;}
.
.
.
}
我做错了什么?
【问题讨论】:
-
为什么您希望将名为
nameF的字段映射到名为name的 JSON 名称? -
所以如果我将 nameF 更改为 name 它会起作用吗?
-
命名约定很重要。
-
非常感谢 Sotiri!现在可以正常使用了。