【问题标题】:SyntaxError: JSON.parse: expected property name or '}'SyntaxError:JSON.parse:预期的属性名称或“}”
【发布时间】:2016-04-29 07:37:20
【问题描述】:

我正在使用以下代码,尝试将 JSON 行发送到客户端,用于测试目的:

String json = "{'nombre':'Donell', 'dni':'351351P'}";
            response.setContentType("application/json");
            PrintWriter out = response.getWriter();
            JSONObject jsonObj = (JSONObject) JSONValue.parse(json);
            out.print(jsonObj);

我正在使用库 json-simple,但这不起作用。当我访问我的测试 servlet“/Prueba”时,我收到一个包含 200 个代码类型“json”的包,但没有数据:

这里有什么问题?谢谢!

编辑:尝试只编写 json 时,我看到了,但出现错误:

【问题讨论】:

    标签: java json servlets


    【解决方案1】:

    由于您已经在变量 json 中拥有 json 字符串,只需将此字符串打印到响应中:

    response.getWriter().print(json);
    

    json 字符串也应该使用双引号

    "{\"nombre\":\"Donell\", \"dni\":\"351351P\"}"
    

    (当您解析旧的无效字符串时,您得到了一个null JSONObject,因此在打印对象时您在响应中看到了一个null

    【讨论】:

    • 没错,现在json字符串是可见的。我收到一个奇怪的错误,请检查我的编辑
    • @Zerok 那是因为你在 JSON 字符串中使用了单引号,你需要双引号(见我的回答)。
    • 刚刚意识到!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多