伙计们,美好的一天。我正在尝试接收一些JSON
它是用俄语写的,可能也必须以中文接收,主要是在全球范围内。所以我必须收到的任何语言信件JSON
.
问题是当我收到JSON
应该看起来像
{
"file_path":"storage\/paqstorage/paq/1278/1432230404Lighthouse - копия-копия-копия.jpg",
"file_id":"376"
}
但是当我解析字符串时,它看起来像
{
"file_path":"storage\/paq\/1278\/1432230404Lighthouse - \u043a\u043e\u043f\u0438\u044f.jpg",
"file_id":"376"
}
我正在使用以下代码来解析JSON
data
JSONArray array = object.getJSONArray("files");
for (int i = 0; i < array.length(); i++) {
JSONObject o = array.getJSONObject(i);
stringArrayList.add(o.getString("file_path"));
}
I tried UTF8
and ISO
字符串编码但没有任何帮助。他们都给了我同样的价值。所以我的问题是,这是我的问题还是服务器部分应该已经向我发送了编码字符串?或者我应该对特定语言的字符串进行编码?
此类问题可能有两种情况。
1. 您的服务器端脚本文件正在返回数据Unicode
编码。
2.仅Logcat
以 Unicode 编码呈现。
对于1,您需要在脚本文件中编写一个小函数+将文件另存为UTF-8 encoding
。请注意以下代码仅适用于 PHP。
function replace_unicode_escape_sequence($match) { return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
然后称之为
preg_replace_callback('/\\\\u([0-9a-f]{4})/i', 'replace_unicode_escape_sequence', $json);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)