2015-05-10 6 views
0

У меня есть jsonFile в этом формате.BufferedReader to Jsonarray in android

[{"KeyTokenName":"Safe 2","UntilTime":"16:39","FromTime":"16:39","FromDate":"2015\/04\/10","Count":8,"KeyRingId":1,"UntilDate":"2016\/04\/10"}] 
[{"KeyTokenName":"Safe 1","UntilTime":"16:40","FromTime":"16:40","FromDate":"2015\/04\/10","Count":15,"KeyRingId":1,"UntilDate":"2016\/04\/10"}] 
[{"KeyTokenName":"Safe 1","UntilTime":"16:42","FromTime":"16:42","FromDate":"2015\/04\/10","Count":25,"KeyRingId":1,"UntilDate":"2016\/04\/10"}] 

Я пытаюсь прочитать из json-файла, используя этот код.

FileInputStream inputStream = new FileInputStream(new File(path)); 
BufferedInputStream bis = new BufferedInputStream(inputStream); 
StringBuffer b = new StringBuffer(); 
while (bis.available() != 0) { 
    char c = (char) bis.read(); 
    b.append(c); 
    } 

bis.close(); 
inputStream.close(); 

JSONArray data = new JSONArray(b.toString()); 

Но я в объекте данных я получаю только содержание первого объекта из файла JSON, который

[{"KeyTokenName":"Safe 2","FromDate":"2015\/04\/10","FromTime":"16:39","UntilTime":"16:39","Count":8,"UntilDate":"2016\/04\/10","KeyRingId":1}] 

Но я хочу, чтобы все содержание, чтобы быть в есть объект массива Json. Что должно быть сделано. Я не хочу использовать внешние библиотеки для разбора Json.

Пожалуйста, помогите.

+0

Как вы ожидаете, что один объект JSONArray будет хранить 3 массива JSON? –

+0

, если вы уверены, что файл содержит список массивов, и вы хотите прочитать его как список массивов, возможно, вы можете просто добавить «[]» до и после сложения, а затем проанализировать его на JSONArray. – Surely

+0

Да. Файл содержит список массивов. Не могли бы вы объяснить, как это сделать? – jgm

ответ

0

Почему вы не используете некоторые существующие решения, которые позволяют вам отображать java-класс в json и наоборот, например, Gson?