android - 如何处理包含 = 和 : characters in json value in Android 的 JSON 数据

标签 android json gson retrofit

下面是我为 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/

相关文章:

android - 使用Android,如何将控制权传递回主线程?

java - 在 ant 脚本中检测构建配置(调试或发布)

android - Context 应该用 Dagger 注入(inject)吗?

jquery - 从 C# 通用列表解析 json 响应

java - 使用默认反序列化器的一些功能在 gson 中实现自定义反序列化器

java - 读取大文件并通过多线程处理

java - 当我在 GSON(使用枚举)上运行 Proguard 时应用程序崩溃

android - 当我滚动 recyclerview 时,recyclerview 项目会发生变化

c# - 使用 .NET 将数组序列化为 JSON 对象

c# - WebAPI 如何在 (.NET) 客户端反序列化异常