
var action = '{"result":[{"PerformDate":"2017-07-05 00:00:00","ay":"","bz":"","callbacks":[{}],"cfPunishInfo":7010,"changeStopNote":"","chargeBackSale":"","chargeBackSaleNote":"","chargeDestroy":"","chargeDestroyNote":"","chargeStop":"","clnr":"照片"}]}';
var obj = eval("("+action+")");
consolelog(objresult[0]PerformDate);
你传过来的json没有解析,xml>
要把responseText解析为对象才行
//支持IE8以下渣渣var ajax=eval("("+xml>
你好!
你的问题应该不在这段代码上面,很有可能是jquery库文件,没有引入造成的!
1textxphp返回json没有问题。
2$getJSON()函数也没有问题。
---------------------------------------------------------------------------------------
在 Qt 中,可以使用 `QFile` 类来读写文件,对于 JSON 文件,可以使用 `QJsonDocument` 类来解析和生成 JSON 数据。如果您想要同时读写 JSON 文件,可以使用以下步骤:
1 打开 JSON 文件:在 `QFile` 中使用 `open` 方法打开 JSON 文件,并设置打开模式为读写模式。例如:
```cpp
QFile file("examplejson");
if (!fileopen(QIODevice::ReadWrite)) {
// 处理文件打开失败的情况
}
```
在上面的示例中,我们打开了名为 `examplejson` 的 JSON 文件,并将打开模式设置为读写模式。
2 读取 JSON 数据:在 `QFile` 中使用 `readAll` 方法读取 JSON 文件的所有内容,并将其存储为一个 `QByteArray` 对象。例如:
```cpp
QByteArray data = filereadAll();
```
在上面的示例中,我们使用 `readAll` 方法读取 JSON 文件的所有内容,并将其存储为一个 `QByteArray` 对象。
3 解析 JSON 数据:使用 `QJsonDocument` 类的 `fromJson` 方法将 `QByteArray` 对象解析为 JSON 数据。例如:
```cpp
QJsonDocument doc = QJsonDocument::fromJson(data);
```
在上面的示例中,我们使用 `QJsonDocument` 类的 `fromJson` 方法将 `QByteArray` 对象解析为 JSON 数据,并将其存储为一个 `QJsonDocument` 对象。
4 修改 JSON 数据:通过 `QJsonDocument` 对象修改 JSON 数据。例如:
```cpp
QJsonObject obj = docobject();
obj["name"] = "John";
docsetObject(obj);
```
在上面的示例中,我们首先通过 `QJsonDocument` 对象的 `object` 方法获取 JSON 数据的 `QJsonObject` 对象,然后修改该对象的 `"name"` 属性,并使用 `setObject` 方法更新 `QJsonDocument` 对象。
5 写入 JSON 数据:在 `QFile` 中使用 `write` 方法将修改后的 JSON 数据写入文件。例如:
```cpp
fileseek(0);
filewrite(doctoJson());
```
在上面的示例中,我们首先使用 `seek` 方法将文件指针移动到文件开头,然后使用 `write` 方法将修改后的 JSON 数据写入文件。
6 关闭文件:在完成文件 *** 作后,使用 `close` 方法关闭 `QFile` 对象。例如:
```cpp
fileclose();
```
在上面的示例中,我们使用 `close` 方法关闭了 `QFile` 对象。
以上就是同时读写 JSON 文件的步骤。需要注意的是,在实际应用中,还需要考虑一些异常情况,如文件打开失败、文件读取失败、JSON 解析失败等,需要添加适当的错误处理代码来处理这些异常情况。
今天遇到一个JSON数据转对象失败额问题,一开始服务返回的json就不是很干净,开头和结尾有换行符,明显不符合json格式用JSONparse肯定就报错啦
这里告诉我们json的第一个位置的词不是所期望的。这时先用正则替换换行符
chunk = chunkreplace(/[ ]/g, "")
然后再打印一下前后数据观察
一开始直接获取的数据,可以看到上下有好多空行
正则替换过的数据,可以看到数据和我们常见的json格式一样了,但是转成对象时还是报错了,仍是一开始的错误提示Unexpected token in JSON at position 0
然后又把这串字符串拿出来单独在node里和在浏览器里转,都成功了!what???遇见鬼了???
深呼吸,冷静一下,那我们先做个长度打印,将替换完后的变量长度和直接将这段字符串的打印长度比较一下看看
我们肉眼看到的字符串的长度是896,但实际变量的长度确实897,看结合报错信息提示的是第一个字符异常,基本确定了源头是我们看不到的那第一个字符,那看下第一个字符是啥吧,
consolelog('afterRepalce', chunk, chunklength, 'chunk[0]:', chunk[0]),打印出来看到第一个字符是空的,故此最后的原因还是返回的json数据不干净,多了空格,再加上去除空格的正则替换就可以了
chunk = chunkreplace(/(^s)|(s$)/g, "")
眼见不一定为实, 事实上没有那么多诡异的问题,仔细的分析目前掌握的信息,耐心的思考,交叉地校验信息,真相终归会浮出水面。
以上就是关于获取json数据,提示undefined全部的内容,包括:获取json数据,提示undefined、ajax获取json后无法解析出数据,为什么呢、jquery的getjson取不到数据,alert没有显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)