下面是我为 API 请求获得的 JSON 响应。
用户 = { '名字':'西瓦', '地址':'我的地址', '密码':12345, '网址':'http://myweb.com/index.php?title=firstname:lastname+middlename&action=edit '
由于此 JSON 响应以 user = 开头,因此它既不是 JSONObject 也不是 JSONArray。 所以我认为这是 String 并且我拆分了响应
String[] response = responseBody.split("=");
Gson gson = new GsonBuilder().setLenient().create();
User user = gson.fromJson(response[1], User.class);
这会导致如下所示的 MalformedJsonException
Caused by: com.google.gson.stream.MalformedJsonException: Unterminated string at line 5 column 47 path $.url
我发现 url 键的值导致了问题。因为它在 url 值中有 = 和 : 字符。但是我没有找到合适的解决方案。
谁能帮我解决这个问题。
最佳答案
因为你一直在使用 gson 可以做这样的事情
Gson g = new Gson();
Person person = g.fromJson(responsejsonstring, Person.class);
System.out.println(person.name); //Johnh@gmail.com
System.out.println(g.toJson(person)); // {"email":"Johnh@gmail.com"}
关于android - 如何处理包含 = 和 : characters in json value in Android 的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45656891/