java - 当我使用 json.org 解析时出现 JSON 错误

标签 java json parsing

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

import java.io.IOException;

public class Main {

    public static void main(String[] args) throws IOException, ParseException {


        String s = "{paramsArray: [\"first\", 100],"
                + "paramsObj: {one: \"two\", three: \"four\"},"
                + "paramsStr: \"some string\"}";

        JSONParser parser = new JSONParser();
        Object ob = parser.parse(s);
        JSONObject obj = (JSONObject) ob;
        System.out.println(obj.get("paramsStr"));


    }

}
<小时/>
Error: Exception in thread "main" Unexpected character (p) at position 1.
at org.json.simple.parser.Yylex.yylex(Yylex.java:610)
at org.json.simple.parser.JSONParser.nextToken(JSONParser.java:269)
at org.json.simple.parser.JSONParser.parse(JSONParser.java:118)
at org.json.simple.parser.JSONParser.parse(JSONParser.java:81)
at org.json.simple.parser.JSONParser.parse(JSONParser.java:75)
at Main.main(Main.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) `

最佳答案

您的 json 无效。

paramsArrayparamsObjonetwoparamsStr 应该是用双引号括起来(有效的 JSON 将键和值都括起来)。

String s = "{\"paramsArray\": [\"first\", 100],"
            + "\"paramsObj\": {\"one\": \"two\", \"three\": \"four\"},"
            + "\"paramsStr\": \"some string\"}";

尝试像 JSONLint 这样的 JSON validator .

关于java - 当我使用 json.org 解析时出现 JSON 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22099845/

相关文章:

java - 如何在 Install4j 中设置变量

asp.net - 需要生成一个json数组,然后循环遍历值

c++ - 如何在带有Visual Studio Code的Chromium中使用自动补全

python - 有效的 JSON,但是 "No JSON object could be decoded"

java - 从序列化到光盘的 java 对象中读取成员值,无需类

php - 解析.com : send push notification from my own CMS

java - SWT - 如何监听鼠标事件并检索它们的绝对位置?

java - 从文件中读取加密数据

java - 来自java的SQL日期时间

c# - 如何在.NET中以格式字符串转义大括号(大括号)