在 JSONObject 中解码 JSON 对象和 JSON 数组
Decoding JSON objects and JSON array inside a JSONObject
我目前正在研究一个PHP/JavaScript/jQuery项目,PHP通过ajax请求将一些JSON编码的数据返回到网页。
JSON 数据包含多个对象和一个数组,但我看不到如何处理数据。
以下是在 PHP 中创建 JSON 的方式
$result = mysql_query($query);
if ($result)
{
$data = array();
while ($myrow = mysql_fetch_array($result))
{
$data[] = $myrow['VersionName'];
}
$returnArray["RESULT"] = HelperClass::generateResponseArray(HTTPResponseCodes::OK, true, null, false);
$returnArray["DATA"] = $data;
return json_encode($returnArray);
}
generateResponseArray
函数如下所示:
public static function generateResponseArray($httpStatusCode, $wasActionSuccessful, $message,
$jsonEncodeArray = true)
{
$response = array();
$response["HTTPStatusCode"] = $httpStatusCode;
$response["actionSuccessful"] = $wasActionSuccessful;
$response["Message"] = $message;
if ($jsonEncodeArray)
{
return json_encode($response);
}
else
{
return $response;
}
}
以下是我尝试通过JavaScript解码JSON的方式。
function getVersions()
{
$.post("../Middleware/CrashManagement.php",
{
type: "GetVersions",
appID: getParameterValue("id")
},
function (result)
{
var obj = JSON.parse(result);
var resultData = JSON.parse(obj.RESULT);
if (resultData.actionSuccessful === true)
{
alert("hello");
}
}
)
}
Chrome 没有给我任何关于问题所在指示,它只是出于某种原因在我的 html start 标签上说意外的输入结束,但它与此功能有关,就好像我删除 chrome 不再报告此错误一样。
我认为PHP的东西还可以。
但是您要解析返回的数据两次,这不是必需的。
function getVersions() {
$.post("../Middleware/CrashManagement.php",
{ type: "GetVersions", appID: getParameterValue("id") },
function (result) {
// parse returned json string into a json object
var obj = $.parseJSON(result);
// No need to reparse this as its already done above
//var resultData = JSON.parse(obj.RESULT);
var resultData = obj.RESULT;
if (resultData.actionSuccessful === true) {
alert("hello");
}
})
}
如果您喜欢的浏览器是Chrome,我可以建议您熟悉Chrome javascript调试器
吗?这会在一秒钟内显示您出错的地方。
相关文章:
- jQuery匹配JSON对象的部分文本
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 如何为json对象中的段发送array[]
- 将JSON对象传递给angular指令
- 更改JSON对象的结构
- 访问JSON对象内部的数组元素
- 在ejs-partial中对JSON对象进行迭代
- 遍历 JSON 对象并检查 URL 是否以某个值结尾
- 访问嵌套JSON对象的键,其中键是动态的
- json对象中缺少对象循环
- 发送json对象或使用express路由呈现视图
- 在play2框架中向json对象添加下拉列表项
- 元素名称上带有短划线 (-) 字符的 Json 对象
- autocomplete不接受源的json对象
- 如何在javascript中创建动态json对象
- 在使用客户端脚本时拾取JSON对象
- 如何通过json对象数组为嵌套对象赋值
- 构造JSON对象