Java JSON无法获取数据库值

时间:2012-11-16 17:51:06

标签: java json

我相对较新的Java,似乎无法弄清楚什么是错的,我调查了这个问题,即使我按照它的教程,我仍然似乎无法使它工作,它看到文件,因为它当我尝试打开实际上不存在的文件时出现不同的错误,但它无法从数据库中获取变量

我的代码:

    String userEnteredString = UserEntered.getText(); 
    String userHomeLocal = Tutschedule.userHome; 
    FileReader dataFile = null; 
    try {
        dataFile = new FileReader(userHomeLocal+"/Users/"+userEnteredString+".data");
    } catch (FileNotFoundException ex) {
        Logger.getLogger(LoginForm.class.getName()).log(Level.SEVERE, null, ex);
    }
    String dbData = dataFile.toString(); 
    System.out.println(dbData); 
    JSONObject dataInfo = (JSONObject)dbData.parse(dataFile); 

以下是我的进口商品:

import java.io.*;
import java.util.Iterator;
//import java.io.FileNotFoundException;
import org.json.*;
//import java.io.FileReader; 
import java.util.logging.Level;
import java.util.logging.Logger;
import org.json.simple.parser.*; 

并且这是写入数据库的部分,我确信问题不在这里,因为它写得很好,因为我检查了它创建的数据库及其在那里(将用户发送到登录表单的行不是那时我想创建一个用户):

public class Tutschedule {

// TODO Add the MySQL Database Support 



public static String userHome; 


/**
 * @param args the command line arguments
 */
public static void main(String[] args) throws JSONException {
boolean loggedIn = false; 

if (loggedIn != true) { 
LoginForm.LoginForm(); 
}

     userHome = System.getProperty("user.home")+"/TutSchedule"; 


System.out.print(userHome); 

Scanner scan = new Scanner(System.in); 

String username = scan.next(); 
String password = scan.next(); 


JSONObject user = new JSONObject(); 
user.put("username", username);
user.put("password", password); 

boolean dirCreate; 
String directories =userHome+"/Users"; 

dirCreate = (new File(directories)).mkdirs();

try {
FileWriter userDataFile = new FileWriter(userHome+"/Users/"+username+".data");
userDataFile.write(user.toString()); 
userDataFile.flush(); 
userDataFile.close();
} catch (IOException  e) { 
e.printStackTrace(); 
}
System.out.print(user); 
}
}

1 个答案:

答案 0 :(得分:0)

我怀疑你可能需要改变这个

JSONObject dataInfo = (JSONObject)dbData.parse(dataFile); 

JSONObject dataInfo = (JSONObject)JSONValue.parse(dataFile); 

因为dbData是一个String而且没有parse()方法。