我正在制作一个应用程序,该应用程序从用户(姓名,姓氏等)获取数据,并将数据保存在JSON文件中。我要做的是从用户那里获取数据之后,将它们插入字符串数组并将字符串数组转换为JSON数组。这是代码:
public void toJSON(){
try {
JSONArray List = new JSONArray();
for (int j = 0; j < 10; j++) {
List.put(ad[j]);
List.put(soyad[j]);
List.put(sehir[j]);
System.out.print(List.toString(1));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
我必须创建一个JSON文件,但是我不知道在用户输入数据后如何向其中添加数据。
答案 0 :(得分:0)
您可能应该研究其他持久性方法,例如共享首选项或Sql。话虽这么说,但我不清楚您的实际问题是什么,或者您尝试解决的问题。
答案 1 :(得分:0)
这是将数据放入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();
}
这将打印
[{“性别”:“女性”,“体重”:72.5,“身高”:167.64,“查询”:“跑了3英里”,“年龄”: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();
}
这将打印以下内容:
[{“字符串”:[“字符串1”,“字符串2”],“名称”:“帐单”,“年龄”: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:
Helper方法:
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“]]