繁体   English   中英

如何从 java android 中的 json 检索数据

[英]how to retrieve data from json in java android

我正在尝试编辑它自己的服务器列表的 android vpn 应用程序。

我有自己的 json 和服务器数据,但不知道如何嵌入它。

这就是我的 json 响应的样子

    [
[
"0",
"PL",
"Poland",
"warswaw",
"1.1.1.1",
"IKEv2",
"",
""
],
[
"1",
"AU",
"Australia",
"Sydney ",
"1.1.1.1",
"IKEv2",
"",
""
],

这是应用程序中的代码

 JSONObject json_response = new JSONObject("http://example.com/json.php");
                JSONArray jsonArray = json_response.getJSONArray();
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject json_object = jsonArray.getJSONObject(i);
                    ServerArray[i][0] = json_object.getString("id");
               ;
                    ServerArray[i][1] = json_object.getString("file");
                    ServerArray[i][2] = json_object.getString("city");

                    ServerArray[i][3] = json_object.getString("country");
                    ServerArray[i][4] = json_object.getString("image");
                    ServerArray[i][5] = json_object.getString("ip");
                    ServerArray[i][6] = json_object.getString("active");
                    ServerArray[i][7] = json_object.getString("signal");
                    NumServers = NumServers + 1;
                }

the arrays are from old api https://raw.githubusercontent.com/gayanvoice/android-vpn-client-ics-openvpn/images/appdetails.json

我如何重写以便它读取我的服务器列表?

尝试使用Gson - 这对你来说会容易得多。

您的 JSON 响应的格式为 Array of Arrays of Strings。 使用键值对创建响应可能有更好的方法,但这取决于您。

您必须向您的端点发送请求以获取 JSON 响应。 为了解析它,查看您的 JSON 响应的格式,并像这样解析:

JSONArray rootArray = response.getJSONArray(); // Gets the root array
for(int i = 0; i < rootArray.length(); i++){
    JSONArray childArray = rootArray.getJSONArray(i); // child array at index i
    for(int j = 0; j < childArray.length(); j++){
    // Traverse through and get strings using getString method on childArray
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM