繁体   English   中英

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

[英]Gson isn't mapping strings with unicode prefix to java object

我正在使用的服务 (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”,它会起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM