[英]Getting simple Json string from url and converting it to String[] Android
我正在嘗試從 url 中提取 Json 字符串並將其放入我的 android 應用程序中的String[]
中。
我從 url 得到的字符串是"[\"What is your name?\",\"How do you do?\"]"
我正在嘗試在我想調用構造函數的應用程序中創建測驗Quizz
,然后它從 url 中提取數據並將其放入私有變量中。
我已經嘗試了很多事情,但是遇到了多個錯誤(網絡和其他東西),現在我在某個異步任務的地方迷路了,我認為我走錯了路。
我想要的 Class 是這樣的:
public class Quizz {
private String[] Questions;
public Quizz() {
// Here i want to load data from url into variable Questions
}
public String getQuestion(int id) {
return "Not implemented!";
}
}
當我在主要活動中創建測驗Quizz
時,我想加載問題。
使用 Retrofit 連接到 API,並使用其轉換器反序列化 JSON 響應。
https://www.journaldev.com/13639/retrofit-android-example-tutorial
它非常有效,並且內置了錯誤處理。
我知道您正在尋找一個 string[] 數組,但在這種情況下,最好使用 arraylist,因為在檢索響應時大小可能會發生變化。
//create empty strings arraylist
List<String> strings = new Arraylist<>()
//try parse the response as a JSONarray object
try{
//get url string response as a json array
JSONArray jsonArray = (JSONArray) urlStringResponse;
//parse through json array and add to list
for(int i = 0; i < jsonArray.length(); i++){
String str = (String) jsonArray.getJSONObject(i);
strings.add(str);
}
} catch (JSONException e) {
Log.e("JSON", "Problem parsing the JSON results", e);
}
如何使用String.split()方法?
val string = "[\"What is your name?\",\"How do you do?\"]"
val split: List<String> = string.subSequence(1, string.length - 1).split(',')
val array = split.toTypedArray()
array.forEach { println(it) }
結果將是
"What is your name?"
"How do you do?"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.