Object mapper从文件中读取JSON时出错

时间:2012-03-07 10:16:01

标签: java jackson

我正在努力掌握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   }

1 个答案:

答案 0 :(得分:4)

“firstName”!=“firstname”

检查您的财产。