Как читать \ uxxxx из json - PullRequest
       2

Как читать \ uxxxx из json

1 голос
/ 02 декабря 2011

У меня есть json в таком формате: {"0": {"title": "\ u0417 \ u041d: \ u0415 \ u0432 \ u0440 \ u043e \ ...

Как кодировать \ uxxxx в удобочитаемом виде?

json Я принимаю следующим образом:

HttpClient httpClient = new DefaultHttpClient();
HttpGet request = new HttpGet("http://android.forum-example.org/?a=1&b=2&c=3");
HttpResponse response = httpClient.execute(request);
resJson = HttpHelper.requestStr(response);
Log.v("JSON:", resJson);

requestStr (ответ) :

public static String requestStr(HttpResponse response){
        String result = "";
        try{
            InputStream in = response.getEntity().getContent();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            StringBuilder str = new StringBuilder();
            String line = null;
            while((line = reader.readLine()) != null){
                str.append(line + "\n");
            }
            in.close();
            result = str.toString();
        }catch(Exception ex){
            result = "Error";
        }
        return result;
}

Четный result = new String (resJson.getBytes ("UTF-8"), "UTF-8"); не помогает. Но когда я использую его со строкой ручной работы (например, String str = "\ u0435 \ u043b \ u0438 \ u0415 \ u0432 \"), тогда это работает.

1 Ответ

1 голос
/ 02 декабря 2011

Попробуйте, и дайте мне знать, что произойдет,

HttpResponse response = httpClient.execute(request);

HttpEntity entity = response.getEntity();
// convert entity response to string
  if (entity != null) {
    InputStream is = entity.getContent();
    // convert stream to string
    result = convertStreamToString(is); 
    result = result.replace("\n", "");
    }

и это, convertStreamToString(is);

public static String convertStreamToString(InputStream is) throws Exception {

        BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
        StringBuilder sb = new StringBuilder();
        String line = null;

        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }

        is.close();
        return sb.toString();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...