簡體   English   中英

從 url 獲取簡單的 Json 字符串並將其轉換為 String[] Android

[英]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時,我想加載問題。

您可以使用以下文章來幫助您解碼 json 文章鏈接此外,您可以在以下文章中使用 JSONArray

使用 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM