为了账号安全,请及时绑定邮箱和手机立即绑定

Java JsonParseException异常的解决办法

标签:
Java
Java JsonParseException异常的解决办法

在开发工作过程中,有遇到以下异常的其实是参数异常,也就是json的拼装有问题。本章的内容主要介绍的json的拼装规则以及技巧。

JsonParseException: Unexpected character (‘=’ (code 61)): was expecting a colon to separate field name and value\n at [Source: java.io.BufferedInputStream@170e3f35; line: 1, column: 23]”

首先介绍一下HTTP返回的一些异常情况。如下图一览表。其中标红线的地方。json_parse异常。

Jackson 序列化

User user = new User(); 
user.setName("admin");
user.setPassword("123456");
/**
     * ObjectMapper是JSON操作的核心,Jackson的所有JSON操作都是在ObjectMapper中实现。
     * ObjectMapper有多个JSON序列化的方法,可以把JSON字符串保存File、OutputStream等不同的介质中。
     * writeValue(File arg0, Object arg1)把arg1转成json序列,并保存到arg0文件中。
     * writeValue(OutputStream arg0, Object arg1)把arg1转成json序列,并保存到arg0输出流中。
     * writeValueAsBytes(Object arg0)把arg0转成json序列,并把结果输出成字节数组。
     * writeValueAsString(Object arg0)把arg0转成json序列,并把结果输出成字符串。
     */ 
ObjectMapper arry = new ObjectMapper(); 
//User类转JSON 
//输出结果:{"name":"小民","age":20,"birthday":844099200000,"email":"xiaomin@sina.com"} 
String json = mapper.writeValueAsString(user);  
System.out.println(json);

Gson 序列化

import com.google.gson.JsonArray;
import com.google.gson.JsonObject;

JsonArray arry = new JsonArray(); 
JsonObject j = new JsonObject(); 
    j.addProperty("username", username); 
    j.addProperty("password", password); 
arry.add(j);
String json = array.toString();    //即为组装好的json字符串。

FastJson 序列化

User user = new User("testFastJson001", "maks", 105); 
String text = JSON.toJSONString(user); 
System.out.println("toJsonString()方法:text=" + text); 
// 输出结果:text={"age":105,"id":"testFastJson001","name":"maks"}
点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
7112
获赞与收藏
545

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消