Gson是';t将带有unicode前缀的字符串映射到java对象

Gson是';t将带有unicode前缀的字符串映射到java对象,java,android,python,gson,sendbird,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.c

我正在使用的服务(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\u key':u'some\u value',u'some\u other\u key':u'some\u other\u value'}”


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

正如您所说,由于标签中的“u”前缀,因此不是有效的json。您可以在这里查看:

所以Gson无法解析并映射到您的类


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

刚才澄清了我无法控制服务,因此这是不可能的。JSON格式无效。不确定这是什么意思?这是一个有效字符串,可能是运行Python 2.x的服务器返回的,根据下面的检查您的JSON字符串。为了澄清,服务在其数据字段中返回字符串文本,而不是JSON对象。我使用Gson将字符串反序列化为普通的旧java对象。Gson仅解析JSON格式的数据。