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

时间:2016-04-30 06:22:14

标签: 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'前缀或者其他可能在这里发生什么吗?

1 个答案:

答案 0 :(得分:1)

就像你所说的不是一个有效的json,因为" u"标签中的前缀。您可以在此处查看:http://jsonlint.com/

所以Gson无法解析并映射到你的班级。

尝试删除" u"在标签之前它会起作用。