首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Javascript中访问JSON数组

如何在Javascript中访问JSON数组
EN

Stack Overflow用户
提问于 2013-10-29 12:01:35
回答 1查看 151关注 0票数 1

我怎么得到"LSZ09“。

代码语言:javascript
复制
var el1=data[0];
alert(el1);

这给了我"a“从数组,正如位置1给我r,2r,3a,4y,。

该数组通过“echo json_encode($punten)”接收;

也是当我尝试

代码语言:javascript
复制
var jsonDataArray = JSON.parse(data);

我得到一个语法错误:

代码语言:javascript
复制
SyntaxError: JSON.parse: unexpected character

代码:

代码语言:javascript
复制
$.ajax({ url: 'getPunten.php',
                        data: {statnam: jSelectedStation[0]},
                        type: 'get',
                        success: function(data) {

从php脚本接收,最后一行是: echo json_encode($punten);

代码语言:javascript
复制
[{"STATDEV":"LSZ09 ","0":"LSZ09 ","DEVPKT":"1","1":"1","PKTTYP":"S","2":"S","KARTNR":"0","3":"0","BITNRK":"1","4":"1","BITSTATUS":"0","5":"0","TYPE":"I ","6":"I "},{"STATDEV":"LSZ10 ","0":"LSZ10 ","DEVPKT":"1","1":"1","PKTTYP":"S","2":"S","KARTNR":"0","3":"0","BITNRK":"2","4":"2","BITSTATUS":"0","5":"0","TYPE":"I ","6":"I "}

php:

代码语言:javascript
复制
$db = new PDO ("xxxx");
$qry="SELECT r.refnam, r.zustnr FROM refdev r INNER JOIN (SELECT refnam, COUNT(*) cnt FROM refdev rc GROUP BY refnam) rc ON rc.refnam = r.refnam LEFT OUTER JOIN texte t ON r.sigtnr = t.textnr WHERE rc.cnt = $aantal AND t.tstring LIKE '%$tekst%' ORDER BY r.refnam, r.zustnr";
$filterQry = $db->query($qry);
$filtered = $filterQry->fetchAll();
echo json_encode($filtered);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-29 12:30:11

如果您所显示的php是您正在使用的php,则不,它将无法工作。

您可以看到,传递给javascript的文本包括var_dumpecho的结果。

请考虑以下php代码:

代码语言:javascript
复制
<?php
    $filtered = array(1,2,3);
    var_dump($filtered);
    echo json_encode($filtered);    
?>

你认为这样做的结果是什么?提示:这不是你一直期望的那样。你似乎期待着

代码语言:javascript
复制
 [1,2,3]

是的,至少部分是这样的。这是最后一行的输出。但是我们还没有考虑中间行var_dump($filtered); --它将输出类似于您用Received from php script, with last line being: echo json_encode($punten);标记的代码的代码

我的代码片段的输出实际上是:

array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } [1,2,3]

这就是为什么你得到的前5个元素包含'a‘'r’a‘y'!这也是对JSON.parse(data);的调用失败的原因-- "arrray(3)"不是有效的json。

提示:当您使用浏览器导航到php脚本时,您看到的是通过ajax调用获取的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19657664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档