因此,我目前正在进行JUnit测试,以保存和加载JSON格式的保存文件。但是,虽然保存工作没有问题,但我仍然遇到一个问题,我从文件中读取的字符串没有保存在我写入的变量中。
public void loadSettings(Vector<User> U, String url, String filepath) {
JSONParser parser=new JSONParser();
try {
Object obj=parser.parse(new FileReader(filepath));
JSONObject jsonObject=(JSONObject) obj;
url=jsonObject.get("URL").toString();
//System.out.println(URL);
JSONArray users=(JSONArray)jsonObject.get("Users");
Iterator<Object> iter=users.iterator();
while(iter.hasNext()) {
String temp1=iter.next().toString();
Long temp2=(Long)iter.next();
User n=new User(temp1,temp2.intValue());
U.addElement(n);
}
} catch (Exception e) {
e.printStackTrace();
}
}
有问题的字符串是&#34; url&#34;串。我有的User类的值插入正常。我不知道问题是什么,我已经在这个问题上工作了好几个小时。有人可以帮忙吗?
答案 0 :(得分:-1)
网址可能包含一些特殊字符,您可以尝试这样:
URLEncoder.encode("This string has spaces", "UTF-8");
然后存储在文件中。
最后这样做:
url = URLDecoder.decode(jsonObject.get("URL").toString(), "UTF-8");