Android разбирает Json с китайскими иероглифами

1

У меня есть действительная строка Json (по крайней мере, каждый онлайн-идентификатор, который я пробовал, так говорит), который содержит некоторые китайские символы.

Строка json следующая:

{ "Название": "\ u8981\u805e--\u83ef\u723e\u8857\u65e5\u5831", "URL": "http://cn.wsj.com", "убывание": "\ u300a\u83ef\u723e\u8857\u65e5\u5831\u300b\u4e2d\u6587\u7db2\u7d61\u7248\u6700\u65b0\u8ca1\u7d93\u8981\u805e", "ImageUrl": нулевой, "lastUpdate": "1327588937", "пункты": [{ "название": "\ u4e16\u8cbf\u7d44\u7e54\u7e3d\u5e79\u4e8b\ufe55\u4eba\u6c11\u5e63\u5e63\u503c\u88ab\u4f4e\u4f30\ufe50\u4f46\u4f4e\u4f30\u7a0b\u5ea6\u4e0d\u660e " "убывание":"\u4e16\u754c\u8cbf\u6613\u7d44\u7e54\u7e3d\u5e79\u4e8b\u5e15\u65af\u5361\u723e\uff0e\u62c9\u7c73\u9031\u56db\u8868\u793a\ufe50\u4eba\u6c11\u5e63\u532f\u7387\u88ab\u660e\u986f\u4f4e\u4f30\ufe50\u4f46\u4f4e\u4f30\u7a0b\u5ea6\u9084\u4e0d\u6e05\u695a\u3002" ," URL ":" http://cn.wsj.com/big5/20120126/BCHc-20120126WR182711424.asp?source=rss", "PubDate": нулевой}]}

Теперь, когда я разбираю JsonString в Android через новый JsonObject (jsonString), я получил только несколько квадратов вместо символов.

Почему can not anroid обрабатывает эту строку json?

Любая помощь будет оценена.

Если кто-то хочет иметь сервер Ressource, его можно найти в разделе:

//редактирование url удалено

Теги:

2 ответа

0
Лучший ответ
public static String test(){
    String testResult= "";
    try {
        HttpGet get = new HttpGet("http://xxxxx");//edit url removed.
        DefaultHttpClient httpclient = new DefaultHttpClient();
        HttpResponse response = httpclient.execute(get);
        String result = EntityUtils.toString(response.getEntity());
        JSONObject obj = new JSONObject(result);
        if(!obj.isNull("title")){
            testResult= obj.getString("title");
            Log.d("Test","Test1:"+ testResult);
        }
    } catch (JSONException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return testResult;//
}

и затем TextView.setText(testResult); Меня устраивает.

это традиционная китайская строка: "要聞 - 華爾街 日報" Может быть, у вашего ПЗУ нет традиционного китайского шрифта????

  • 0
    Не работает, это дает мне JSONException при синтаксическом анализе (at: new JsonObject (result))
  • 0
    Если вы используете Android SDK Json Parser, вы должны использовать новый org.json.JSONObject (String)
Показать ещё 6 комментариев
0

Когда вы получаете свой JSON, вам, возможно, придется декодировать результат UTF-8, когда вы создаете свой результат. Взгляните на декодирование utf8. Что-то похожее на это, но с JSON

  • 0
    я уже использую этот параметр UTF-8: String json = EntityUtils.toString (responseEntity, HTTP.UTF_8); но без эффекта

Ещё вопросы

Сообщество Overcoder
Наверх
Меню