我需要从我提取的数据库中读取以下JSON文本,下面是我的示例代码:
{{questionData1[0].qst_cnt_options[0].left}}
qst_cnt_options
中的真实数据是:
[{left:'Benda Hidup',right:'Benda Mati'}] //Fetched from database and as text
当我试图回读时,仅输出
[
。如何解决这个问题?
答案 0 :(得分:1)
由于数据库中的提取值是简单文本,因此使用JSON.parse
解析为json对象并检索它。
[{left:'Benda Hidup',right:'Benda Mati'}]
这是一个字符串,因此将[
作为第一个值返回。
<强>方法一:强> 只需从控制器返回JSON解析值
在您的控制器中:
app.controller('myCtrl',function($scope){
$scope.qst_cnt_options = $scope.questionData1[0].JSON.parse(qst_cnt_options)
});
在您看来:
<强> {{qst_cnt_options[0].left}}
强>
<强>方法2:强>
app.controller('myCtrl',function($scope){
$scope.qst_cnt_options = questionData1[0].JSON.parse(qst_cnt_options)
$scope.parJson = function (json) {
return JSON.parse(json)[0];
}
});
查看:
{{qst_cnt_options.parJson(qst_cnt_options.qst_cnt_options)}}
答案 1 :(得分:0)
更新:用双引号封装字符串(包括左,右)。这应该解决。
由于around []可能会迫使解析器将其视为数组,因此看起来您正在取回的内容并未解析为正确的JSON。
尝试删除[]并查看是否有效
我对输入进行了进一步的检查,根据JSON验证器,你应该用双引号封装你的字符串。左右限定符没有引号。那可能是你的问题。