Java 无法在eclipse中初始化JSONObject或JSONArray
我是JSON编程新手。我试图编写一个webservice,从SQLite表中获取数据,并将输出写入JSON文件。我已经将JSON简单jar添加到我的eclipse项目中。当我添加一行代码时,如下所示Java 无法在eclipse中初始化JSONObject或JSONArray,java,json,eclipse,json-simple,Java,Json,Eclipse,Json Simple,我是JSON编程新手。我试图编写一个webservice,从SQLite表中获取数据,并将输出写入JSON文件。我已经将JSON简单jar添加到我的eclipse项目中。当我添加一行代码时,如下所示 JSONObject obj = new JSONObject(); Exception: java.lang.reflect.InvocationTargetException Message: java.lang.reflect.InvocationTargetException 它编译正
JSONObject obj = new JSONObject();
Exception: java.lang.reflect.InvocationTargetException Message: java.lang.reflect.InvocationTargetException
它编译正确。但是,当调用webservice时,我在这一行得到一个异常,如下所示
JSONObject obj = new JSONObject();
Exception: java.lang.reflect.InvocationTargetException Message: java.lang.reflect.InvocationTargetException
这是我完整的java文件
package wtp;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import org.json.simple.JSONObject;
import org.json.simple.JSONArray;
public class CollegeProcessor2 {
public static String fetchCollegeList2(String input)
{
Connection c = null;
Statement stmt = null;
String output = null;
java.util.Date date= new java.util.Date();
JSONObject collegeList = new JSONObject();
JSONObject college = new JSONObject();
JSONArray list = new JSONArray();
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:C:\\Users\\Vevin.Kumar\\workspace\\JSONProject\\collegelist.db");
c.setAutoCommit(false);
System.out.println("Opened database successfully");
stmt = c.createStatement();
ResultSet rs = stmt.executeQuery( "SELECT * FROM COLLEGES WHERE DISTRICT LIKE \"" + input +"\" ;");
ResultSetMetaData metaData = rs.getMetaData();
int numberOfColumns=metaData.getColumnCount();
while ( rs.next() ) {
for(int i = 1; i <= numberOfColumns; i++)
{
college.put(String.valueOf(metaData.getColumnName(i)), String.valueOf(rs.getObject(i)));
}
list.add(college);
}
collegeList.put("collegeslist", list);
rs.close();
stmt.close();
c.close();
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
try{
FileWriter file = new FileWriter("c:\\json_outputs\\collegelist_" + date.getTime() +".json");
file.write(collegeList.toJSONString());
file.flush();
file.close();
} catch ( IOException e ){
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
System.out.println("Operation done successfully");
output = "c:\\json_outputs\\collegelist_" + date.getTime() +".json";
return output;
}
/*public static void main (String[] args)
{
String output = fetchCollegeList2("CHENNAI");
System.out.println(output);
}*/
}
package-wtp;
导入java.io.FileWriter;
导入java.io.IOException;
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.ResultSet;
导入java.sql.ResultSetMetaData;
导入java.sql.Statement;
导入org.json.simple.JSONObject;
导入org.json.simple.JSONArray;
公共类学院处理器2{
公共静态字符串fetchCollegeList2(字符串输入)
{
连接c=null;
语句stmt=null;
字符串输出=null;
java.util.Date Date=新建java.util.Date();
JSONObject collegeList=新的JSONObject();
JSONObject college=新的JSONObject();
JSONArray list=新的JSONArray();
试一试{
Class.forName(“org.sqlite.JDBC”);
c=DriverManager.getConnection(“jdbc:sqlite:c:\\Users\\Vevin.Kumar\\workspace\\JSONProject\\collegelist.db”);
c、 设置自动提交(错误);
System.out.println(“已成功打开数据库”);
stmt=c.createStatement();
ResultSet rs=stmt.executeQuery(“从学区中选择*,如\”“+input+“\”;”);
ResultSetMetaData元数据=rs.getMetaData();
int numberOfColumns=metaData.getColumnCount();
while(rs.next()){
对于(int i=1;请将完整的logcat@Nabin-这是我得到的唯一异常。我在控制台上没有看到任何其他异常。这行代码中似乎没有异常。您可能需要发布更多的代码。@Pushkar-我已在问题中添加了完整的代码。请查看一下。非常感谢您的t我想知道您是否可能将JSON Simple与其他试图对类进行JSONize的JSON包混为一谈。