关于使用jackson.jar解析JSON时,大写JSON key值发生报错的问题

最近在项目中调用.NET的服务时,Jackson在解析返回的json字符串时始终报错,纠结很久之后才找到原因,原来是是由于json字符串中的字母都是首字母大写,导致jackson找不到相应的KEY。

解决方法有两种:

  • 直接将bean对象中的属性改为public,属性名命名为首字母大写,比如{"Name":"nomouse","Age":12},定义相应的bean为:
  1. public class User {
  2. public String Name;
  3. public int Age;
  4. }
  • 但是第一种方法不符合Java的命名规范,总觉的很别扭,所以可以用第二种方法,在属性上添加注解:
  1. public class User {
  2. @JsonProperty(value = "Name")
  3. private String name;
  4. @JsonProperty(value = "Age")
  5. private int age;
  6. }

采用上面两种方式不仅在解析json的时候有效,在输出json流的时候同样是以大写字母开头。

来源: https://blog.csdn.net/u010697537/article/details/17685165

来自为知笔记(Wiz)

原文地址:https://www.cnblogs.com/billxxx/p/10467865.html

时间: 2024-10-10 03:31:00

关于使用jackson.jar解析JSON时,大写JSON key值发生报错的问题的相关文章

Spring Data操作Redis时,发现key值出现 \xac\xed\x00\x05t\x00\tb

原文链接:http://blog.csdn.net/yunhaibin/article/details/9001198 最近在研究redis,以及spring data对redis的支持发现了一个奇怪的现象 先说现象吧,通过redisTemplate下的opsForHash方法存储hash类型的值,操作成功以后,去redis控制台显示keys * 的时候,发现一个奇怪的现象,插入的hash类型的key前面会有一堆的\xac\xed\x00\x05t\x00\tb 这种东西,见图1 (图1) 看见

vue v-for 遍历循环时的key值的报错

问题如下: [Vue warn] Avoid using non-primitive value as key, use string/number value instead. non-primitive表示的是对象 这里的[Vue warn]是指不要用对象或是数组作为key,用string或number作为key. :key相当于是索引的作用,提高循环性能,如果循环量较小,不写也可以的. 原文地址:https://www.cnblogs.com/exmyth/p/9091062.html

JSON序列化自动过滤NULL值

使用Newtonsoft.Json.dll 序列化为json时主动将NULL值过滤掉,具体做法: var jSetting = new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore}; var json = JsonConvert.SerializeObject(response, Formatting.Indented, jSetting); 之前转换的JSON为: {"header":{&q

JS 遍历JSON中每个key值

JS 遍历JSON中的每个key值,可以按键值对进行存储: var myVar = { typeA: { option1: "one", option2: "two" } } Object.keys(myVar).forEach(function(k) { if(k === "typeA") { // do stuff } else if (k === "typeB") { // do more stuff } else {

使用Jackson解析首字母大写的json字符串

Jackson在解析返回的json字符串时始终报错,纠结很久之后才找到原因,原来是是由于json字符串中的字母都是首字母大写,导致jackson找不到相应的KEY. 在项目中经常使用从服务器获取的数据,有时从服务器获取的json字符串中的首字母是大写的,使用Jackson解析是就会报一下错误: Exception in thread "main" org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecogniz

我的Android进阶之旅------>解决Jackson、Gson解析Json数据时,Json数据中的Key为Java关键字时解析为null的问题

1.问题描述 首先,需要解析的Json数据类似于下面的格式: { ret: 0, msg: "normal return.", news: [ { id: "NEW2016062800875700", from: "腾讯新闻客户端", qqnews_download_url: "http://inews.qq.com/m?refer=openapi_for_xiaotiancai", articletype: "1&

SpringMVC 中使用 @ResponseBody 返回Json时,需要手动添加jackson依赖

No converter found for return value of type: class java.util.HashMapSpringMVC 中使用 @ResponseBody 返回Json时,需要手动添加jackson依赖!Maven添加: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId>

18 Ajax、Json以及jackson框架解析json的基本应用

1. Ajax (1)概念:ASynchronous JavaScript And XML 异步的JavaScript 和 XML 异步和同步:客户端和服务器端相互通信的基础上 * 客户端必须等待服务器端的响应.在等待的期间客户端不能做其他操作. * 客户端不需要等待服务器端的响应.在服务器处理请求的过程中,客户端可以进行其他的操作. Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. [1] 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新.这意味着可

Jackson.jar的使用记录

之前一直使用json-lib.jar,最近发现网上说这个jackson.jar比较好 package com.spring.controller; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.Date; import java.util.List; import