[英]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.