这就是您将数据放入 JSONArray 的方式。
JSONArray array = new JSONArray();
JSONObject object = new JSONObject();
try {
object.put("query", "ran 3 miles");
object.put("gender", "female");
object.put("weight_kg", 72.5);
object.put("height_cm", 167.64);
object.put("age", 30);
array.put(object);
} catch (JSONException e) {
e.printStackTrace();
}
这将打印出来
[{"gender":"female","weight_kg":72.5,"height_cm":167.64,"query":"跑了 3 英里","age":30}]
如果您想使用列表...请执行此操作。
JSONArray array = new JSONArray();
List<String> list = new ArrayList<>();
JSONObject object = new JSONObject();
try {
object.put("age", 5);
object.put("name", "bill");
list.add("string1");
list.add("string2");
object.put("strings", list);
array.put(object);
} catch (JSONException e) {
e.printStackTrace();
}
这将打印以下内容:
[{"strings":["string1","string2"],"name":"bill","age":5}]
利用刚刚学到的知识,让我们更深入。
假设您有一个姓名和电子邮件编辑文本,就像这样。
EditText name = findViewById(R.id.name);
EditText email = findViewById(R.id.email);
你有一个 onclick 监听器,也许是一个“保存”按钮。当您录制它时,您需要从那些编辑文本中获取信息。
... // clicked save
String nameString = name.getText().toString().trim();
String emailString = email.getText().toString().trim();
// Create your json file.
JSONArray array = new JSONArray();
JSONObject object = new JSONObject();
String nameString = "john"; // dont need this, this is from the edit text (example)
String emailString = "email@email.com"; // dont need this, this is from the edit text (example)
try {
object.put("name", nameString);
object.put("email", emailString);
array.put(object);
System.out.println(array);
} catch (JSONException e) {
e.printStackTrace();
}
这将打印出来...
[{"name":"john","email":"email@email.com"}]
将字符串列表转换为 JSONArray:
辅助方法:
public static JSONArray convertToJSON (List<String> list) {
JSONArray array = new JSONArray();
array.put(list);
return array;
}
代码:
List<String> list = new ArrayList<>();
list.add("string1");
list.add("string2");
list.add("string3");
list.add("string4");
list.add("string5");
list.add("string6");
list.add("string7");
list.add("string8");
System.out.println(convertToJSON(list));
结果
[["string1","string2","string3","string4","string5","string6","string7","string8"]]