2016-05-11 2 views
-1

Я хочу вставить JSON в качестве входа в консоль и преобразовать ее в строку.Получение нескольких строк с консоли

input: 
{ 
    "age":"23",  
    "name":"abc", 
    "blog":"asskakasjsa", 
    "messages":["msg1","msg2","msg3"] 
    } 
+0

Какие консоли вы говорите? – fafl

+0

пульт затмения. извините, если я говорю что-то глупое глупо. Рассмотрите этот вопрос так, как будто я хочу получить многоуровневый ввод от пользователя, где количество строк не фиксировано. –

ответ

0

Следующий код считывает построчно строкой ввода от пользователя до тех пор, пока пользователь не введет «}»

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 

public class MainActivity { 

public static void main(String[] args) { 
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); 

    String ip= null; 
    try { 

     String next; 
     do 
     { 
      next=br.readLine().toString(); 
      ip+=next; 
     } 
     while(!next.equalsIgnoreCase("}")); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 


    System.out.println("You have entered:"); 
    System.out.println(""+ip); 

} 
} 
0

Звучит как синтаксический анализ. Вам, вероятно, придется зацикливать Scanner.nextLine() и выяснить относительные позиции, проанализировать значения и назначить их правильно.

Я думаю, вы могли бы разобрать его по строкам, сделать его большим String, сохранить его в .json-файле, а затем использовать фреймворк, чтобы развязать его ...?

Как правило, вся эта концепция не является хорошей идеей.

+0

Я прошу его, как разобрать его на строку, потому что нет фиксированной длины вставленного json. –

Смежные вопросы