Java程序中Json不能解析的问题

情景:业务需要将字符串转为指定形式的Json对象,故使用了jackson包中的ObjectMapper类中的readValue()方法实现对json串反序列化以得到相应对象。

问题:无法将string转换为自定义的Json对象。

尝试如下的解决方法

  1. 检查字符串与自定义Json对象中的字段是否一一对应;

  2. 增加无参构造函数;

  3. 去除各字段初始化时赋的值,改为在构造函数中赋初值;

PS:目前只尝试过上述三种解决方法。请根据遇到的情况,选取合适的解决方法。

参考文献:
http://blog.csdn.net/pistolove/article/details/50868105
http://blog.csdn.net/wangloveall/article/details/7992448/

9/9/2017 10:47:45 PM

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java,可以使用许多库来解析JSON,其最常用的是Jackson和Gson。以下是使用Jackson解析JSON的示例代码: ```java import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; public class JsonParser { public static void main(String[] args) { String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; try { ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonNode = objectMapper.readTree(jsonString); String name = jsonNode.get("name").asText(); int age = jsonNode.get("age").asInt(); String city = jsonNode.get("city").asText(); System.out.println("Name: " + name); System.out.println("Age: " + age); System.out.println("City: " + city); } catch (Exception e) { e.printStackTrace(); } } } ``` 在上面的示例,使用了Jackson库的ObjectMapper类来将JSON字符串解析JsonNode对象。然后,可以使用JsonNode对象的get()和asXXX()方法获取JSON对象的属性值。在这个例子,我们获取了"name","age"和"city"的值,并打印输出到控制台上。 使用Gson库解析JSON也非常类似,你可以参考以下示例代码: ```java import com.google.gson.Gson; import com.google.gson.JsonObject; public class JsonParser { public static void main(String[] args) { String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; try { Gson gson = new Gson(); JsonObject jsonObject = gson.fromJson(jsonString, JsonObject.class); String name = jsonObject.get("name").getAsString(); int age = jsonObject.get("age").getAsInt(); String city = jsonObject.get("city").getAsString(); System.out.println("Name: " + name); System.out.println("Age: " + age); System.out.println("City: " + city); } catch (Exception e) { e.printStackTrace(); } } } ``` 在上面的示例,我们使用Gson库的fromJson()方法将JSON字符串解析JsonObject对象。然后,可以使用JsonObject对象的get()和getAsXXX()方法获取JSON对象的属性值。在这个例子,我们获取了"name","age"和"city"的值,并打印输出到控制台上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值