Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用扫描程序无限扫描JSONObject程序时发生Java错误_Java_Json_Parsing_Jsonparser - Fatal编程技术网

使用扫描程序无限扫描JSONObject程序时发生Java错误

使用扫描程序无限扫描JSONObject程序时发生Java错误,java,json,parsing,jsonparser,Java,Json,Parsing,Jsonparser,我在编写这个程序时遇到这个错误,我只是想通过扫描器将json对象传递给JSONobject,然后打印json对象 但是扫描仪是无限循环的 package com.readvalues.main; import java.util.Scanner; import net.sf.json.JSONObject; public class ReadValues { public static void main(String[] args) { String x=

我在编写这个程序时遇到这个错误,我只是想通过扫描器将json对象传递给JSONobject,然后打印json对象

但是扫描仪是无限循环的

package com.readvalues.main;

import java.util.Scanner;
import net.sf.json.JSONObject;

public class ReadValues 
{
    public static void main(String[] args)
    {
        String x="";
        try 
        {   
            System.out.println("Enter the data");
            Scanner scanner = new Scanner(System.in);
            while(scanner.hasNext())
            {
                x = x + scanner.next();
            }

            JSONObject jsonObject = JSONObject.fromObject(x);
            System.out.println(jsonObject);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}
在候机楼

Enter the data
{"ExecutiveGoal":
{"EMPLID":"100020","GOAL_ID":"GOAL-3-98372","GOAL":"Conduct EPC Contract Kaizen","DUE_DATE":"07/01/2018","STATUS":"On Track or Complete (Green)","CATEGORY":"Operational Goal","SUPPORTS_ORG_GOAL":"","COMPLETED_ON":"06/30/2018","CREATED_BY":"Mark Hensley","CREATED_ON":"03/01/2018","LAST_UPDATED_BY":"Mark Hensley","LAST_UPDATED_ON":"03/01/2018"
},
"ExecutiveGoal":
{"EMPLID":"100020","GOAL_ID":"GOAL-3-98373","GOAL":"Exit 2018 with minimum 5 negotiators trained and capable in O&M, MSAs, EPCs, and MIPSAs. At least 2 negotiators capable in PPAs.","DUE_DATE":"12/31/2018","STATUS":"On Track or Complete (Green)","CATEGORY":"People Leader Goal","SUPPORTS_ORG_GOAL":"","COMPLETED_ON":"","CREATED_BY":"Mark Hensley","CREATED_ON":"03/01/2018","LAST_UPDATED_BY":"Mark Hensley","LAST_UPDATED_ON":"03/01/2018"
}
}
//INFINITE LOOP SCANNING 

我已经尝试了所有方法,扫描仪正在等待输入。。。 scanner.nextLine会有所帮助。

使用scanner.nextLine时,它会等待整数值。您正在输入一个json字符串,这就是它抱怨的原因。您需要将其更改为scanner.next,它需要一个字符串


同样,这样编写的循环永远不会结束。它将要求您永远从输入中读取字符串。您可能会考虑一些退出条件; 这是我在那里输入的程序的一个错误,我实际上使用了scanner.next循环永远不会结束,因为你还没有告诉它什么时候结束。一个常见的场景是,例如,检查某个字符串,当输入该字符串以结束循环时(这是我在那里键入的程序的错误),我实际上使用了scanner.next