简体   繁体   English

如何解析包含特殊字符的JSON字符串?

[英]How to parse JSON String containing special characters?

I am using hackerrank.com API for the code compilation. 我正在使用hackerrank.com API进行代码编译。 So when user enters code with compilation error the JSON response is like this 因此,当用户输入带有编译错误的代码时,JSON响应就像这样

{
  "result": {
    "callback_url": "",
    "censored_compile_message": "",
    "codechecker_hash": "something",
    "compile_command": "/usr/lib/jvm/java-7-sun/bin/javac -encoding UTF-8  -classpath '*:/usr/share/java/json-simple-1.1.1.jar:/usr/share/java/junixsocket.jar:/usr/share/java/abacus-util-jdk7.jar' AddNumbers.java 1> compile.err 2>&1",
    "compilemessage": "AddNumbers.java:1: error: ';' expected\nimport java.util.Scanner;   class AddNumbers {    public static void main(String args[])    {       int x, y, z             Scanner in = new Scanner(System.in);       x = in.nextInt();       y = in.nextInt();      z = x + y;       System.out.println(z);    } }\n                                                                                                               ^\n1 error\n",
    "error_code": 0,
    "hash": "something",
    "loopback": null,
    "memory": null,
    "message": null,
    "response_s3_path": "something",
    "result": 255,
    "run_command": "",
    "server": "something",
    "signal": null,
    "stderr": null,
    "stdout": null,
    "time": null
  }
}

In this JSON "compilemessage" contains special escape characters like '' "" ; 在这个JSON中,“compilemessage”包含特殊的转义字符,如'' "" ; etc. so how to parse this string so that the characters remains as it is. 所以如何解析这个字符串,使字符保持原样。

When I tried to parse with just normal 当我试着正常解析时

jsonobject.getString("compilemessage") jsonobject.getString( “compilemessage”)

then it converts it into some random character as shown in the picture 然后它将其转换为一些随机字符,如图所示

在此输入图像描述

使用Unicode代替“”或者代表每个特殊字符,或者你也可以使用/也代表空间字符“你可以使用/代表每个字符或者来自野兔的帮助如何在字符串数组java中定义特殊字符

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM