2015-09-01 2 views
-1

Пытается использовать javax.json для чтения json данных. В настоящее время у меня нет никаких проблем, чтобы прочитать файл таким образом (обработка исключений пропущены):Parse json file to javax.json library

FileInputStream json = new FileInputStream("testJSON.json"); 
JsonParser parser = Json.createParser(json); 

Это прекрасно работает, когда у меня есть отдельный json файл, в этом случае является testJSON.json. Теперь я хочу просто проанализировать строку json, а не файл json. Например, у меня есть json строку, которая выглядит следующим образом:

[{"Gross Weight":"12","Tare Weight":"3","Price Per Pound":"2"},{"Gross Weight":"123","Tare Weight":"32","Price Per Pound":"23"}] 

Можно ли разобрать этот json данные в JsonParser? Или любая другая библиотека Java может обрабатывать этот запрос?

+2

Вы можете преобразовать свой экземпляр 'String' в' InputStream': см. [Этот SO-ответ] (http://stackoverflow.com/a/782183/1076463) – Robin

ответ

0
java.io.StringReader in = new java.io.StringReader(theString); 
JsonParser parser = Json.createParser(in); 

Пожалуйста, изучите Javadocs из числа, которые вы используете время от времени.

+0

'String jsonString =" [{"Вес брутто" : «12», «Вес тары»: «3», «Цена за фунт»: «2»}, {«Вес брутто»: «123», «Вес тары»: «32», «Цена за фунт»: "23"}] ";' Когда я это делаю, я получил синтаксические ошибки, что я должен сделать, чтобы ошибка исчезла? – OPK

+0

Java использует '' 'в качестве разделителя для строковых литералов. Если вы хотите написать строковый литерал, содержащий' '', вам нужно избежать его как '\ '', например 'jsonString =" [{\ "Bross Weight \": \ "12 \" .... ";' – wero