使用fastjson报错Exception in thread “main“ com.alibaba.fastjson.JSONException: syntax error, pos 1, line

使用fastjson报错Exception in thread "main" com.alibaba.fastjson.JSONException: syntax error, pos 1, line 1, column 2

  • 问题背景
  • 解决方案
  • 总结
  • Lyric: 我在草地上喝着

问题背景

在使用fastjson依赖的时候,出现了如下错误

Exception in thread "main" com.alibaba.fastjson.JSONException: syntax error, pos 1, line 1, column 2aaa
	at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1480)
	at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1366)
	at com.alibaba.fastjson.JSON.parse(JSON.java:170)
	at com.alibaba.fastjson.JSON.parse(JSON.java:180)
	at com.alibaba.fastjson.JSON.parse(JSON.java:149)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:241)
	at com.dz.marketservice.client.HttpTest.main(HttpTest.java:40)

解决方案

1 出现了这个问题我做了一个测试程序,使用parseObject方法解析一个字符串就会出现的报错

    public static void main(String[] args) throws IOException {
        JSONObject j = JSONObject.parseObject("aaa");
        System.out.println(j);
    }

2 第一次我更改了一下JSON格式的字符串,反斜杠是转义字符,还是报一样的错误

    public static void main(String[] args) throws IOException {
        JSONObject j = JSONObject.parseObject("{\"aaa\":  }");
        System.out.println(j);
    }

3 第二次我重新改了一下字符串的格式,这次输出正常,没有报错

    public static void main(String[] args) throws IOException {
        JSONObject j = JSONObject.parseObject("{\"aaa\":\"\"}");
        System.out.println(j);
    }

总结

  • 通过这个测试说明,fastjson是有有着属于自己的格式,对于花括号、中括号之类的都不能少
  • 关键字后面没有内容,也需要一个空字符串




作为程序员第 31 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …

Lyric: 我在草地上喝着

你可能感兴趣的:(java异常错误问题,java,intellij-idea,开发语言)