如何在Java中读取JSON文件
我整晚都在找,但找不到适合我的东西 我正在尝试用Java读取和解析JSON文件。我尝试了我找到的每一个代码,但没有一个对我有效。我非常感谢你的帮助 下面是代码:如何在Java中读取JSON文件,java,android,json,Java,Android,Json,我整晚都在找,但找不到适合我的东西 我正在尝试用Java读取和解析JSON文件。我尝试了我找到的每一个代码,但没有一个对我有效。我非常感谢你的帮助 下面是代码: public void parseJSONData() { clearData(); try { FileInputStream in = openFileInput(getFilesDir() + "/tbl_category.json"); Inpu
public void parseJSONData() {
clearData();
try {
FileInputStream in = openFileInput(getFilesDir()
+ "/tbl_category.json");
InputStreamReader inputStreamReader = new InputStreamReader(in);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuilder sb = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
sb.append(line);
}
我使用的是getFilesDir()+“/tbl_category.json”,因为应用程序启动时会在/data/data/com.the.restaurant/files/中下载文件
下面是课程代码的其余部分:
// parse json data and store into arraylist variables
JSONObject json = new JSONObject(line);
JSONArray data = json.getJSONArray("data");
for (int i = 0; i < data.length(); i++) {
JSONObject object = data.getJSONObject(i);
JSONObject category = object.getJSONObject("Category");
Category_ID.add(Long.parseLong(category
.getString("Category_ID")));
Category_name.add(category.getString("Category_name"));
Category_image.add(category.getString("Category_image"));
Log.d("Category name", Category_name.get(i));
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
IOConnect = 1;
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//解析json数据并存储到arraylist变量中
JSONObject json=新的JSONObject(行);
JSONArray data=json.getJSONArray(“数据”);
对于(int i=0;i
我刚刚开始学习Java,非常感谢您的帮助 在这一行中,您仅读取一行内容来创建JSON对象
JSONObject json = new JSONObject(line);
它应该使用包含整个JSON字符串的StringBuilder
JSONObject json = new JSONObject(sb.toString());
在这一行中,您仅读取一行内容来创建JSON对象
JSONObject json = new JSONObject(line);
它应该使用包含整个JSON字符串的StringBuilder
JSONObject json = new JSONObject(sb.toString());
而不是
JSONObject json = new JSONObject(line);
它将最后一行读取的内容转换为JSON对象(可能会失败),您需要
JSONObject json = new JSONObject(sb.toString());
这将采用行的串联(StringBuilder的内容)而不是
JSONObject json = new JSONObject(line);
它将最后一行读取的内容转换为JSON对象(可能会失败),您需要
JSONObject json = new JSONObject(sb.toString());
这将使行的串联(StringBuilder的内容)更加具体。什么不起作用,发生了什么,应该发生什么?问题是。。。哪里什么是不工作的?更改JSONObject json=newJSONObject(行);to JSONObject json=新的JSONObject(sb.toString());具体点。什么不起作用,发生了什么,应该发生什么?问题是。。。哪里什么是不工作的?更改JSONObject json=newJSONObject(行);to JSONObject json=新的JSONObject(sb.toString());