[英]Get specific value from JSON string
我试图从我的 json 字符串中获取一个简单的值。 似乎比我想象的要难。 例如,我如何获得以下 JSON 中第一个 ModuleAction 对象的“名称”(第一个数组称为“数据”):
[
{
"ModuleController":{
"id":"3"
},
"ModuleActionModuleController":[
{
"id":"4",
"module_action_id":"1",
"module_controller_id":"3",
"ModuleAction":{
"id":"1",
"name":"Overzicht",
"action":"index"
}
},
{
"id":"5",
"module_action_id":"2",
"module_controller_id":"3",
"ModuleAction":{
"id":"2",
"name":"Detail",
"action":"view"
}
}
]
}
]
这是我最好的尝试:
data[0].ModuleActionModuleController[0].id
但我有错误:
add:93 Uncaught TypeError: Cannot read property '0' of undefined
at Object.success (add:93)
at j (jquery-2.1.0.min.js:2)
at Object.fireWith [as resolveWith] (jquery-2.1.0.min.js:2)
at x (jquery-2.1.0.min.js:4)
at XMLHttpRequest.<anonymous> (jquery-2.1.0.min.js:4)
知道我做错了什么吗? :)
编辑
这是返回数据 JSON 字符串的 ajax 函数:
$(function() {
$('#PageModuleId').on('change', function(){
var formData = $('#PageAddForm').serialize();
// POST to server
$.ajax({
type: 'POST',
url: '<?php echo $this->here; ?>',
dataType: 'text',
data: formData,
success: function(data){
console.log(data[0].ModuleActionModuleController[0].ModuleAction.name);
}
});
});
});
例如,如何获得以下 JSON 中第一个 ModuleAction 对象的“名称”?
在我看来,您只是缺少下一个子元素: ModuleActionModuleController.ModuleAction.name
$(document).ready(function() { var obj = jQuery.parseJSON( '{"ModuleController":{"id":"3"},"ModuleActionModuleController":[{"id":"4","module_action_id":"1","module_controller_id":"3","ModuleAction":{"id":"1","name":"Overzicht","action":"index"}},{"id":"5","module_action_id":"2","module_controller_id":"3","ModuleAction":{"id":"2","name":"Detail","action":"view"}}]}' ); //alert( obj.ModuleActionModuleController[0].ModuleAction.name ); document.body.innerHTML = obj.ModuleActionModuleController[0].ModuleAction.name; });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
这对我有用:
var JSON = { "data": [ { "ModuleController":{ "id":"3" }, "ModuleActionModuleController":[ { "id":"4", "module_action_id":"1", "module_controller_id":"3", "ModuleAction":{ "id":"1", "name":"Overzicht", "action":"index" } }, { "id":"5", "module_action_id":"2", "module_controller_id":"3", "ModuleAction":{ "id":"2", "name":"Detail", "action":"view" } } ] } ] }; alert(JSON.data[0].ModuleActionModuleController[0].ModuleAction.id);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.