我正在开发一个与数据库通信的应用程序,以检索值。我使用PHP作为后台,并在Android Studio上使用Volley库进行开发。
我的问题是,我需要发送的值是一个表的多条记录,每条记录都有四列,例如name、age、department和country。我正在使用JSON对这些值进行编码,但我需要帮助才能继续操作。我应该使用JSON编码的2D数组吗?如果是这样,如何使用PHP来构造此数组,因为可以有可变数量的行。
另外,如何在Android (Java)中解析JSON对象/数组?
到目前为止,这是我的进度: JSON在浏览器中的输出:
{"name0":"ABC","age0":"25",“department0”:“医疗”,"country0":"XYZ","name1":"DEF","age1":"26",“department1”:“Eng.”,"country1":"XYZ"}
在这里,我使用PHP中的循环来命名JSON的每个“键”,并将其编码为JSON对象。但是在Android中显示它有困难。我使用了具有4个文本视图的XML布局,并在主活动XML文件中使用LISTVIEW。
发布于 2018-06-18 00:42:20
我建议使用不同的json结构进行编码。如果有很多记录,你的文档很快就会变得一团糟。例如,您可以使用name0
、name1
、... nameN
。最好是像这样创建一个数组:
[
{
"name" : "ABC",
"age" : 25,
"department" : "Medical",
"country" : "XYZ"
},
{
...
}
]
请注意,没有连接到键的索引。如果需要,您可以根据json对象节点在数组中的位置来获取索引。
至于在Android中解析它,你可以参考documentation。SDK附带了一个Json解析器,因此您需要做的就是将字符串作为一个json数组读入,并根据需要迭代它的对象节点。
例如
String jsonResponse = " ... "; // whatever the php backend gives you when you make a call to the endpoint
JSONArray arr = new JSONArray(jsonResponse);
for (int i=0; i<arr.length(); i++) {
JSONObject obj = arr.get(i);
String name = obj.getString("name");
...
}
https://stackoverflow.com/questions/50898454
复制相似问题