1
我通過點擊url獲取json數據。之後,我使用Json解析它工作正常,得到了結果並顯示在android應用程序中。但這次我試圖傑克遜解析器快速parsing.I得到這個error.please幫我jackson.map.exc.UnrecognizedPropertyException:無法識別的字段,未標記爲可忽略的
代碼:
ObjectMapper mapper=new ObjectMapper(); jacksonObj=mapper.readValue(jsonResponse,ContactPojo.class);
POJO:
public class ContactPojo {
String name,email,gender,mobileno;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getMobileno() {
return mobileno;
}
public void setMobileno(String mobileno) {
this.mobileno = mobileno;
}
}
錯誤:
02-15 17:20:20.060: W/System.err(3983): org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "contacts" (Class com.example.sampleuserlogin.ContactPojo), not marked as ignorable
02-15 17:20:20.060: W/System.err(3983): at [Source: [email protected]; line: 2, column: 18] (through reference chain: com.example.sampleuserlogin.ContactPojo["contacts"])
02-15 17:20:20.065: W/System.err(3983): at org.codehaus.jackson.map.deser.StdDeserializationContext.unknownFieldException(StdDeserializationContext.java:267)
02-15 17:20:20.065: W/System.err(3983): at org.codehaus.jackson.map.deser.std.StdDeserializer.reportUnknownProperty(StdDeserializer.java:673)
02-15 17:20:20.070: W/System.err(3983): at org.codehaus.jackson.map.deser.std.StdDeserializer.handleUnknownProperty(StdDeserializer.java:659)
02-15 17:20:20.070: W/System.err(3983): at org.codehaus.jackson.map.deser.BeanDeserializer.handleUnknownProperty(BeanDeserializer.java:1361)
02-15 17:20:20.075: W/System.err(3983): at org.codehaus.jackson.map.deser.BeanDeserializer._handleUnknown(BeanDeserializer.java:725)
02-15 17:20:20.075: W/System.err(3983): at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:703)
02-15 17:20:20.080: W/System.err(3983): at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)
02-15 17:20:20.085: W/System.err(3983): at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2732)
02-15 17:20:20.085: W/System.err(3983): at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863)
02-15 17:20:20.085: W/System.err(3983): at com.example.sampleuserlogin.JsonParser.jsonParser(JsonParser.java:50)
02-15 17:20:20.090: W/System.err(3983): at com.example.sampleuserlogin.RetrieveLogindata$Response.onPostExecute(RetrieveLogindata.java:69)
02-15 17:20:20.095: W/System.err(3983): at com.example.sampleuserlogin.RetrieveLogindata$Response.onPostExecute(RetrieveLogindata.java:1)
02-15 17:20:20.095: W/System.err(3983): at android.os.AsyncTask.finish(AsyncTask.java:602)
02-15 17:20:20.095: W/System.err(3983): at android.os.AsyncTask.access$600(AsyncTask.java:156)
02-15 17:20:20.095: W/System.err(3983): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
02-15 17:20:20.095: W/System.err(3983): at android.os.Handler.dispatchMessage(Handler.java:99)
02-15 17:20:20.100: W/System.err(3983): at android.os.Looper.loop(Looper.java:137)
02-15 17:20:20.100: W/System.err(3983): at android.app.ActivityThread.main(ActivityThread.java:4507)
02-15 17:20:20.100: W/System.err(3983): at java.lang.reflect.Method.invokeNative(Native Method)
02-15 17:20:20.100: W/System.err(3983): at java.lang.reflect.Method.invoke(Method.java:511)
02-15 17:20:20.100: W/System.err(3983): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
02-15 17:20:20.100: W/System.err(3983): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
02-15 17:20:20.105: W/System.err(3983): at dalvik.system.NativeStart.main(Native Method)
JSON:
{
"contacts": [
{
"id": "c200",
"name": "sai ram",
"email": "[email protected]",
"address": "xx-xx-xxxx,x - street, x - country",
"gender" : "male",
"phone": {
"mobile": "+91 0000000000",
"home": "00 000000",
"office": "00 000000"
}
},
{
"id": "c201",
"name": "Johnny Depp",
"email": "[email protected]",
"address": "xx-xx-xxxx,x - street, x - country",
"gender" : "male",
"phone": {
"mobile": "+91 0000000000",
"home": "00 000000",
"office": "00 000000"
}
}
]}
你'ContactPojo'類不在JSON根...您的JSON是財產接觸的對象,它是數組你pojo請在這裏提問之前閱讀一些教程 – Selvin