我正在创建一个解析JSON并对其进行处理的控制台应用程序。但是,我在准备将用户输入传递给JsonParser函数时遇到问题:
final JsonParser parser = Json.createParser(new StringReader(userInputStr));
当控制台提示用户输入有效的JSON时,他们很可能将粘贴跨越多行的格式化json。
我试图弄清楚如何将所有这些行转换为可以传递给Json.createParser()的无空格单个字符串。
如果用户完全按照以下方式输入,则类似此工作的小样本:
{"name":"Falco","age":3,"bitable":false,"certificate":null}
但是,在传递给JsonParser之前,需要处理以下内容:
{
"name":"Falco",
"age":3,
"bitable":false,
"certificate":null
}
我首先尝试以下操作来处理用户输入中的每一行:
Scanner scanner = new Scanner(new BufferedInputStream(System.in));
while (scanner.hasNext()) {
// use scanner.next() here...
}
答案 0 :(得分:0)
问题在于删除空格字符。因此,尝试jsonStr.replaceAll("\\s+","")