从控制台获取多行输入

时间:2016-05-11 15:30:06

标签: java json

我想将JSON作为输入粘贴到控制台并将其转换为字符串。

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

2 个答案:

答案 0 :(得分:0)

听起来像解析灾难。您可能需要循环Scanner.nextLine()并找出相对位置,解析值并正确分配它们。

我猜你可以逐行解析它,把它变成一个大的String,将它保存到.json文件中,然后用一个框架来解组它......?

一般来说,这整个概念并不是一个好主意。

答案 1 :(得分: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);

}
}