fastjson: JSONException: syntax error, expect {, actual [, pos 0

还是写下来吧~攒点积分,这里分享一个和 json 格式没有关系导致的错误,是 Java 基础的问题

一、问题描述

在用 fastjson 做 json 字符串转对象的时候遇到以下错误

Exception in thread "main" com.alibaba.fastjson.JSONException: syntax error, expect {, actual [, pos 0, fastjson-version 1.2.56
	at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:474)
	at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:273)
	at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:673)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:369)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:337)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:251)
二、问题分析
  1. json 格式检验过绝对没有问题
  2. json 字符串对应的对象也没有问题,能一一对应上
  3. 完全按照 fastjson 的 api 来调用方法,该传的参数也传了
三、查找原因

这里看截图估计就明白了,知道原因的我恨不得锤扁隔壁老王
在这里插入图片描述

三、问题解决

其实只是 String 对象的 api 调用错误了 !(*′口`),来看看源码

public static String valueOf(Object var0) {
	// 直接调用 toString()
    return var0 == null ? "null" : var0.toString();
}
public String(byte[] var1, int var2, int var3) {
    checkBounds(var1, var2, var3);
    // 最终会对 btye 内容解码
    this.value = StringCoding.decode(var1, var2, var3);
}

public String(byte[] var1) {
    this((byte[])var1, 0, var1.length);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值