我正在努力掌握Jackson JSON解析器,并找到了一个很好的教程来解释编组和解组。教程在这里
http://java.dzone.com/tips/json-processing-using-jackson
现在我输入了所有代码,并在用户名和用户类中设置了getter和setter。现在我希望能够从JSON文件中创建用户对象,如教程中所示。
User user = mapper.readValue(new File("/Users/adam/Documents/JSON/user.json"), User.class);
然而,这会返回错误
线程“main”中的异常org.codehaus.jackson.map.exc.UnrecognizedPropertyException:无法识别的字段“firstName”(类UserName),未标记为可忽略 在[来源:/Users/adam/Documents/JSON/JSON.json; line:1,column:40](通过引用链:User [“userName”] - > UserName [“firstName”])
如果我使用String而不是像这样
,我可以从用户创建一个对象String userDataJSON = "{\"userId\":\"100\",\"userName\":{\"firstname\":\"K\",\"middlename\":\"Siva\",\"lastname\":\"Prasad\"},\"dob\":1300878089906}";
User user = mapper.readValue(userDataJSON, User.class);
但如果我尝试
JsonFactory jfactory = new JsonFactory();
JsonParser jParser = jfactory.createJsonParser(new File(
"/Users/adam/Documents/JSON/user.json"));
User user = mapper.readValue(jParser, User.class);
我收到了上面显示的错误。
但同样的事情。能随时告诉我我做错了什么吗?提前致谢
文件中的JSON是
{ “用户id”: “1”, “用户名”:{ “名字”:“Katamreddy” “中间名”:“湿婆” “姓氏”: “PrasadReddy” }, “出生日期”:1331113476212 }
答案 0 :(得分:4)
“firstName”!=“firstname”
检查您的财产。