我有一个文件(ex.json),我从中获取数据
{
"Adres": "ул. Курчатова, 10",
"Comment": "В здании вокзала, на 1 и на 2 этаже",
"Dobavil": "Сергей",
"location": {
"latitude": 48.474721,
"longitude": 35.008587
},
"objectId": "sVjaCW0JV4"
}
这样做
public void update()
StringBuffer sb = new StringBuffer();
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(getAssets().open("ex.json")));
String temp;
while ((temp = br.readLine()) != null)
sb.append(temp);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
br.close(); // stop reading
} catch (IOException e) {
e.printStackTrace();
}
}
String myjsonstring = sb.toString();
try {
JSONObject jsonObjMain = new JSONObject(myjsonstring);
JSONArray jsonArray = jsonObjMain.getJSONArray("results");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObj = jsonArray.getJSONObject(i);
String adres = jsonObj.getString("Adres");
String comment = jsonObj.getString("Comment");
String dobavil = jsonObj.getString("Dobavil");
JSONObject c = jsonArray.getJSONObject(i);
JSONObject location = c.getJSONObject("location");
String lat = location.getString("latitude");
String lon = location.getString("longitude");
}
} catch (JSONException e) {
e.printStackTrace();
}
}
我想知道您是否可以将数据附加到文件中? 如何编写字符串和位置数组? 使用文本文件可能更容易吗?
答案 0 :(得分:2)
我想知道您是否可以将数据附加到文件中?
资产在运行时是只读的。欢迎您将数据写入内部存储(例如getFilesDir()
)。当您读入数据时,请检查内部存储中是否有修改后的副本,如果存在则使用它。否则,就像你现在所做的那样,回退到从资产加载数据。
如何编写字符串和位置数组?
使用JSONObject
或JsonWriter
。或者,以某种其他格式(例如,XML,CSV)对数据进行编码。或者,使用数据库。