Как спарсить json file в java если он в Unicode

306
18 сентября 2017, 02:37

Как парсить файл json в java если файл json полностью в юникоде, как тут выбрать теги с которых нужно распарсить информацию?

{
 "0":"",
 "1240":"\u0404\u0432\u0434\u043e\u043a\u0438\u043c\u043e\u0432\u0410\u043d\u0434\u0440\u0456\u0439\u0412\u0430\u043b\u0435\u0440\u0456\u0439\u043e\u0432\u0438\u0447",
 "1241":"\u0404\u0432\u0434"
}
Answer 1

Apache Commons Lang StringEscapeUtils.unescapeJava() декодирует.

import org.apache.commons.lang.StringEscapeUtils;
@Test
public void testUnescapeJava() {
    String sJava="\\u0048\\u0065\\u006C\\u006C\\u006F";
    System.out.println("StringEscapeUtils.unescapeJava(sJava):\n" + StringEscapeUtils.unescapeJava(sJava));
}
 output:
 StringEscapeUtils.unescapeJava(sJava):
 Hello

Или такой способ:

String myString = "\u0048\u0065\u006C\u006C\u006F World";
String str = myString.split(" ")[0];
str = str.replace("\\","");
String[] arr = str.split("u");
String text = "";
for(int i = 1; i < arr.length; i++){
    int hexVal = Integer.parseInt(arr[i], 16);
    text += (char)hexVal;
}

Источник

Answer 2

Чтобы распарсить json, могу посоветовать библиотеку JSON in Java.

Разбор строки с её помощью будет выглядеть так:

String str = "{"value\":\"\\u0048\\u0065\\u006C\\u006C\\u006F\"}";
JSONObject object = new JSONObject(str);
System.out.println(object.getString("value"));

Вывод:

Hello

READ ALSO
Socket, проблемы с подключением

Socket, проблемы с подключением

Имеется клиент серверное приложениеЕсли запустить сервер и клиент на 1 компе то все норм работает

287
Аудио с сайта, Java

Аудио с сайта, Java

Не так давно видел интересную библиотеку http://wwwjavazoom

210
передача/прием данных через сокеты

передача/прием данных через сокеты

Имеется клиент серверное приложениеМежду клиентом и сервером происходит обмен примитивными типами данных, для этого использую Data(Input/Output)Stream

266
Как удобнее задать стили

Как удобнее задать стили

Имеются секции с чередующимся цветом фона и текста, как удобнее задать стили, чтобы не прописывать их для каждой секции

437