Android-解码没有StringEscapeUtils的Unicode字符?

Mit*_*ins 5 java unicode android gson

当我使用Gson(JsonParser.parse)解码以下内容时:

{ "item": "Bread", "cost": {"currency": "\u0024", "amount": "3"}, "description": "This is bread\u2122. \u00A92015" }
Run Code Online (Sandbox Code Playgroud)

“ currency”元素以字符串形式返回(并且不会转换为Unicode字符)。Gson中是否有可以帮助我的设置或方法?

如果不是,Android中是否可以将包含一个或多个转义字符序列(例如“ \ u0024”)的字符串转换为带有Unicode字符的输出字符串(无需编写自己的字符串,也无需使用Apache的StringEscapeUtils)?

我想避免添加另一个库(仅用于一个小功能)。

更新资料

看起来服务器在Unicode转义序列中两次转义了反斜杠。谢谢大家的帮助!

ozb*_*bek 4

是只有我这样还是真的比简单使用 的方法更TextView复杂setText()?无论如何,下面的内容在我这边使用给定的示例 json 工作得很好(将示例放入资产并使用 读取它loadJSONFromAsset()):

JsonParser parser = new JsonParser();
JsonElement element = parser.parse(loadJSONFromAsset());
JsonObject obj = element.getAsJsonObject();
JsonObject cost = obj.getAsJsonObject("cost");
JsonPrimitive sign = cost.get("currency").getAsJsonPrimitive();

TextView tv = (TextView)findViewById(R.id.dollar_sign);
tv.setText(sign.getAsString());
Run Code Online (Sandbox Code Playgroud)