gpt4 book ai didi

java - 如何获取 JsonArrayRequest JSONArray 对 JSONObject 的响应

转载 作者:太空宇宙 更新时间:2023-11-04 12:33:24 24 4
gpt4 key购买 nike

从昨天开始我就一直遇到这个问题,从我的服务器获取数据。我在 POSTMAN 中测试我的 php 代码并将格式更改为 JSON,我什至在 JSONLint 上测试它并且它返回有效的 json。我注意到它返回一个 JSONObject 而不是 JSONArray (据我所知 JSONArray 以 [ 开头)。

RESPONSE

这是我的java代码:orgFragment.java

public void parseJSONData(){
RequestQueue requestQueue = Volley.newRequestQueue(getContext());
JsonArrayRequest jsonArray = new JsonArrayRequest(ServerScripts.PHP_SCRIPT_PATH + ServerScripts.PHP_GET_FEEDS, new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
if (response.length() > 0){
try {
organizationDataList.clear();
for (int i = 0; i < response.length(); i++ ){
JSONObject jsonObject = response.getJSONObject(i);
OrganizationData organizationData = new OrganizationData();

//SQL TABLE NAME
if (!jsonObject.isNull("organizationName")){
organizationData.orgName = jsonObject.getString("organizationName");
}

if (!jsonObject.isNull("organizationType")){
organizationData.orgType = jsonObject.getString("organizationType");
}

if (!jsonObject.isNull("organizationDescription")){
organizationData.orgDesc = jsonObject.getString("organizationDescription");
}

if (!jsonObject.isNull("organizationCategory")){
organizationData.orgCategory = jsonObject.getString("organizationCategory");
}

if (!jsonObject.isNull("organizationCurrentMembers")){
organizationData.orgCurrentMembers = jsonObject.getInt("organizationCurrentMembers");
}

if (!jsonObject.isNull("organizationMaxMembersNo")){
organizationData.orgMaxMembers = jsonObject.getInt("organizationMaxMembersNo");
}
//ADD
organizationDataList.add(organizationData);
}
//NOTIFY
orgListAdapter.notifyDataSetChanged();

}catch (Exception e){
e.printStackTrace();
Toast.makeText(getContext(),e.toString(),Toast.LENGTH_LONG).show();
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
String getErrorMsg = error.toString();
Toast.makeText(getContext(),"Failed to Fetch Data" + getErrorMsg,Toast.LENGTH_LONG).show();
}

});
requestQueue.add(jsonArray);

}

错误:我刚刚从 Logcat 中截取了 json 错误响应org.json.JSONObject 类型的 success"} 无法转换为 JSONArray

最佳答案

我只是修改我的 php 代码,返回一个 JSONArray。

//if($_SERVER['REQUEST_METHOD'] == ''){


require('dbConnect.php');

$SQLi_ORG_FEEDS = "SELECT organizationName,organizationDescription,organizationCategory,
organizationCurrentMembers,organizationMaxMembersNo,organizationType FROM org_information";

$query = mysqli_query($dbConnect,$SQLi_ORG_FEEDS) or die("Error".mysqli_error($dbConnect));

$checkRow = mysqli_num_rows($query);

$response = array();

if($checkRow > 0){
while ($getRecord = mysqli_fetch_array($query)) {
$response[] = $getRecord;

/*array_push($response,array(
"organizationName"=>$getRecord['organizationName'],
"organizationDescription"=>$getRecord['organizationDescription'],
"organizationCategory"=>$getRecord['organizationCategory'],
"organizationCurrentMembers"=>$getRecord['organizationCurrentMembers'],
"organizationMaxMembersNo"=>$getRecord['organizationMaxMembersNo'],
"organizationType"=>$getRecord['organizationType']));*/
}

//$response['success'] = 'success';
echo json_encode($response);
//echo json_encode(array("response"=>$response));
}
else {
$response['failed'] = 'failed';
echo json_encode($response);
}

关于java - 如何获取 JsonArrayRequest JSONArray 对 JSONObject 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37592859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com