java - Gson 没有将带有 unicode 前缀的字符串映射到 java 对象

标签 java android python gson sendbird

我无法控制的我正在使用的服务 (SendBird) 以以下形式返回数据(字符串):

"{u'some_key': u'some_value', u'some_other_key': u'some_other_value'}"

一些搜索表明,某些版本的 Python 会在字符串前加上“u”字符,所以我假设这就是这里发生的情况。 但是,当我执行标准时:

Gson gson = new Gson();
SomeClass object = gson.fromJson(dataString, SomeClass.class);

在哪里 dataString = "{u'some_key': u'some_value', u'some_other_key': u'some_other_value'}"

它没有正确地将值映射到我的类(是的,我仔细检查了序列化名称是否与 java 对象属性相匹配)。 Gson 是否没有正确处理“u”前缀,还是这里可能发生了其他事情?

最佳答案

正如您所说,由于标签中的“u”前缀,它不是有效的 json。您可以在这里查看:http://jsonlint.com/

因此 Gson 无法解析并映射到您的类。

尝试删除标签前的“u”,它会起作用。

关于java - Gson 没有将带有 unicode 前缀的字符串映射到 java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36951527/

相关文章:

java - 具有等效于 Java 7 try-multiple-catch block 的编程语言?

java - BCEL == monkeypatching for java 吗?

Android:获取短信发送时间

python - u'string'是否与 'string' .decode ('XXX' 相同)

java - ProcessBuilder 无法返回 JSon 字符串

android - TextView android 不显示在 View 中

android - 如何检查当前 Activity 是否是java中的主要/启动 Activity

python - 如何使用 Python 成功地将从 MySQL 表中选择的行列插入到目标 MSSQL 表中?

python - 在列表的列表中查找重复项,并添加它们的值

java - 多线程套接字服务器 - 客户端相互通信