无法正确转换JSON数据

时间:2019-07-19 14:51:57

标签: java android json

因此,我正在尝试通过排球库从此api:https://opentdb.com/api_config.php中获取我的测验应用程序的一些json数据。 但是问题是,有时返回一些与实际数据混合的奇怪数据。 enter image description here 您会在句子的中间注意到“'a”。

但是,当我在json查看器模式下查看它时,它就消失了 enter image description here

即使在应用程序中它也显示相同,这是我转换json的代码:

 String results = response.getString("results");
                    JSONArray array_1 = new JSONArray(results);
                    JSONObject obj_1 = array_1.getJSONObject(0);
                    String incorrectAnswers = obj_1.getString("incorrect_answers");
                    JSONArray array_2 = new JSONArray(incorrectAnswers);

                    correctOption = obj_1.getString("correct_answer");
                    questionText.setText(obj_1.getString("question")); 

3 个答案:

答案 0 :(得分:2)

”在JSON中不是有效的字符。您必须自己转换此类字符,或使用apache commons之类的库。

data.replace(/"/g,'"')
OR
org.apache.commons.lang.StringEscapeUtils.unescapeHtml4(data);

或者,使用gson之类的库来有效地解析JSON。据我所知,默认情况下,gson处理HTML编码字符。

答案 1 :(得分:1)

尝试转换您的字符串。

Html.fromHtml(obj_1.getString("question"));

答案 2 :(得分:0)

您可以使用Google的GSON库开发 article对于使用GSON很有帮助