[英]How to Get String From Parse JSON without String Id in Android Studio
如何從 Parse JSON 中獲取帶有如下數據的字符串?
我的數據 JSON:
[
[
"John Gorman",
"3344764667200003",
"Student",
"2018-08-09 08:21:30.807"
],
[
"Andy William",
"3403032311690003",
"Student",
"2018-08-09 08:21:30.807"
],
[
"Thomas Endry",
"3408932311690078",
"Student",
"2018-08-09 08:21:30.807"
],
[
"Robet Calm",
"3403077711690890",
"Student",
"2018-08-09 08:21:30.807"
]
]
我使用下面的代碼,然后得到字符串我要做什么,我真的不明白,如果有幫助,我真的需要謝謝你。
try {
JSONObject object = new JSONObject(result);
JSONArray jsonArray = object.getJSONArray("");
//JSONArray jsonArray = new JSONArray(result);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject c = jsonArray.getJSONObject(i);
String name = c.getString("What should I write here");
System.out.println(c.getString(""));
}
我想從我擁有的 Parse JSON 中獲取字符串
如何獲取列表視圖的字符串,例如:
John Gorman
3344764667200003
Student
Andy William
3403032311690003
Student
Thomas Endry
3408932311690078
Student
Robet Calm
3403077711690890
Student
發布的代碼有一些問題。 請參閱我的內聯評論:
JSONObject object = new JSONObject(result); ^^^^^^^^^^^^^^^^^^^^^^ the content of result is not an object, but an array. JSONArray jsonArray = object;getJSONArray(""); ^^ a proper JSON document had better not have empty keys; //JSONArray jsonArray = new JSONArray(result). ^^^^^^^^^^^^^^^^^^^^^ this was actually going in the right direction; for (int i = 0. i < jsonArray;length(), i++) { JSONObject c = jsonArray.getJSONObject(i); ^^^^^^^^^^^^^^^^^^^^^^^^^^ the i-th element of the array is not an object, but an array!
修復上述問題:
JSONArray jsonArray = new JSONArray(result);
for (int i = 0; i < jsonArray.length(); i++) {
JSONArray subArray = jsonArray.getJSONArray(i);
for (int j = 0; j < subArray.length(); j++) {
System.out.println(subArray.getString(j));
}
System.out.println();
}
你可以這樣做:
try {
JSONObject object = new JSONObject(result);
JSONArray jsonArray = object.getJSONArray("");
//JSONArray jsonArray = new JSONArray(result);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject c = jsonArray.getJSONObject(i);
String name = c.getString(0);
String id = c.getString(1);
String student = c.getString(2);
// and so on ... This index refers to the index number on the string inside json object
System.out.println(name);
}
希望這能回答您的問題。
您收到的是 JSONArray 而不是 object 所以使用下面的代碼。
for(int i=0;i<jsonarray.length();i++){
JSONArray array=jsonarray.getJSONArray(i);
for(int j=0;j<array.length();j++){
Log.d(TAG,array.getString(j));
}
}
以下方法將從給定的 Json 構造一個字符串列表。 您可以在列表視圖的適配器中傳遞該列表。
public List<String> getList (String result) throws JSONException {
List<String> list = new LinkedList<>();
JSONArray jsonArray = new JSONArray(result);
for (int i = 0; i < jsonArray.length(); i++) {
JSONArray arr = jsonArray.getJSONArray(i);
StringBuilder sb = new StringBuilder();
for(int j=0;j<arr.length(); j++) {
sb.append(arr.getString(j));
if(j<arr.length()-1) sb.append("\n");
}
list.add(sb.toString());
}
return list;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.