JSON.parse给了我一个错误,但JSONLint说它'是一个有效的json

JSON.parse give me an error but JSONLint say it's a valid json

本文关键字:一个 json 说它 有效 错误 parse JSON JSONLint      更新时间:2023-09-26

我正试图用jqplot提取值vía mysql-ajax来制作一个图形,我已经阅读了很多关于这方面的信息,我是IT,对我来说,提出这个问题有点尴尬。这让我头疼:(

我花了20天的时间来解决这个问题,但我不能独自一人,有人能帮我吗?我几乎尝试了所有的东西(json.parse、parsejson、getjson、datatype html、datatype json、方法get和post……)

我知道这会很容易。。。当我尝试做JSON.parse(resultado)时,为什么会崩溃?

http://jsonlint.com/说它是一个Valid Json,但当我尝试执行Json.parse时,他给了我一个异常,说("Json.pase:Json数据第1行第1列的意外字符")

似乎是[字符

这是php:

<?php include('conex.php');
$datos=mysql_query("SELECT * FROM Meteorologia");
$arrDatos = array();
while ($rs=mysql_fetch_assoc($datos))
    $arrDatos[] = array_map('utf8_encode', $rs);
echo json_encode($arrDatos);
?>

我获得:

[{"FECHA":"2015-01-01","OZONO":"3","KT":"2","VV":"4"},{"FECHA":"2016-03-03","OZONO":"68","KT":"86","VV":"78"}]

js是:

try
{
    var strHtml = "";
    $.ajax({
            global: false,
            dataType: "html",
            async: false,
            type: "POST",
            url: $("#form").attr('action'),
            data: $("#form").serialize(),
            success: function(resultado){
                alert('success!!'+resultado);
                console.log(typeof resultado);
                console.log(resultado);
                //var datosRecibidos = JSON.parse(resultado);
                //var datosRecibidos = jQuery.parseJSON(resultado);
                var lista = "";
                $.each( resultado, function( key, value ) {
                        if(value.FECHA == "2015-01-01")
                        {
                            alert('si!!');
                        }
                        else
                        {
                            alert('sino!!');
                        }
                });
            },
            error: function(data){
                alert('Error!!: '+data);
            }
    });
}
catch(ex)
{
    alert("catch!!"+ex);
}

使用$each键值。。。我可以在阵列内移动吗?

在尝试了很多事情之后(更改数据类型json、html、…、方法get、post…)

我使用地址文件进行调试:///C:/examplep/htdocs/traerdatos/index.html

而不是http://localhost/traerdatos/index.html

因此,解决方案是将地址更改为LOCALHOST

(感谢改革,帮助我实现他的愿景)

新错误=)