更正json文件中的字符串

时间:2017-04-29 05:40:12

标签: java json

我有一个json文件,那个标题实体就在那里。我解析标题,因为' \'标题中的字符。

for(int i = 0; i < stringJSON.length() - 1; i++){
                if(stringJSON.charAt(i) == character && !(stringJSON.charAt(i+1) == character)){
                    rawJSON = new StringBuilder(stringJSON).insert(i+1, '\\').toString();
                    i = i + 2;
                   System.out.println("found at " + i);
                }

输入json文件如下 -

{ "class":
        {
            "number": 2,
            "student": 
            {
            "title": "\\The first day \b of my life",
            "age": 1
            },
            "student": 
            {
            "title": "\\A corner in the \A home",
            "age": 2
            }
        }
    }  

上述解决方案存在很多问题,例如&#34; \\&#34;是一个有效的角色,&#39; \&#34;&#39;是一个有效的角色。

有人可以帮我找出任何有助于自动更正此类错误的java包或API吗?

在学生的第二个记录中,您可以看到一个斜线。这使得json无效。

我的问题是如何纠正这个json?我可以删除它或添加一个斜杠,使其成为有效的json字符串。

字符串是转义字符&#34; \\&#34;和控制字符&#39; \&#39;的组合。

1 个答案:

答案 0 :(得分:0)

这回答了你的要求:

  

你可以看到\是一个&#34;控制&#34;字符。如果你想要一个   你的JSON中的字面反斜杠,你需要逃避它:&#34; \\&#34;是   例如,有效的JSON字符串。

来源:JSON Valid Chars