加金开发 2020-10-22 13:33 采纳率: 71.4%
浏览 50
已采纳

ajax js json String 与 json 之间的转化 JSON.parse 报错

在mysql 里面只是一个表字段

图片说明

这个是直接返回的数据 》json[0].replyBody:

[{id:3,img:\"\",replyName:\"帅大叔\",beReplyName:\"匿名\",content:\"来啊,我们一起吃鸡\",time:\"2017-10-17 11:42:53\",address:\"\",osname:\"\",browse:\"谷歌\"}]

目的在 js使用 for循环 遍历

for(var j=0;j<arr.length;j++){
         createReplyComment(replyObj)
}           
//返回每个回复体内容
function createReplyComment(reply){
           console.log(reply.replyName)
}

ajax 演示 (包括已测试 错误方法 )

$.ajax({
                url: ". ",
                data:{'obj':obj},
                dataType: "json",
                success: function(json){
                        var replyBody_data=JSON.stringify(json[0].replyBody);
                        var str1 =JSON.parse(replyBody_data);//JSON.parse 报错
                        var str2=str1;
                        console.log("str1"+str1[0]);
                        console.log("str2"+str2[0]);
                        console.log("replyBody\r"+replyBody_data);
                    }
                         },
                 error:function(err){
                    alert("错误"+JSON.stringify(err));
                }
                });

补充:

先转为JSON.stringify()再JSON.parse()同样报错
var replyBody_data=JSON.parse(json[0]['replyBody']);//报错
var replyBody_data=JSON.parse(json[0][replyBody]);//报错
var replyBody_data1=JSON.parse(json[0].replyBody);//报错
var replyBody_data2=JSON.parse(json[0].'replyBody');//直接语法报错
  • 写回答

4条回答 默认 最新

  • 浅析丶 2020-10-22 17:05
    关注
    var data = '[{"id":3,"img":"","replyName":"帅大叔","beReplyName":"匿名","content":"来啊,我们一起吃鸡","time":"2017-10-17 11:42:53","address":"","osname":"","browse":"谷歌"}]';
    console.log(data)
    var str1 = JSON.parse(data);
    console.log(str1[0])
    console.log(str1[0].replyName)
    
            var jsonData = '[{\"id\":3,\"img\":\"\",\"replyName\":\"帅大叔\",\"beReplyName\":\"匿名\",\"content\":\"来啊,我们一起吃鸡\",\"time\":\"2017-10-17 11:42:53\",\"address\":\"\",\"osname\":\"\",\"browse\":\"谷歌\"}]';
    var json_str = JSON.stringify(jsonData);
    var json_str2 = JSON.parse(json_str);
    var json_str3 = JSON.parse(json_str2);
    console.log(json_str)
    console.log(json_str2)
    console.log(json_str3)
    //var str1 = JSON.parse(data);
    console.log(json_str3[0])
    console.log(json_str3[0].replyName)
        这样的数据是可以的已测试
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已采纳回答 9月14日

悬赏问题

  • ¥15 关于温度改变石墨烯介电性能(关键词-介电常数)
  • ¥150 HDMI分路器LT86102 的输出在890MHz频点处EMC超标8DB
  • ¥15 druid(相关搜索:数据库|防火墙)
  • ¥15 大一python作业
  • ¥15 preLaunchTask"C/C++: aarch64- apple-darwin22-g++-14 生成活动 文件”已终止,退出代码为-1。
  • ¥60 如何鉴定微信小程序数据被篡改过
  • ¥18 关于#贝叶斯概率#的问题:这篇文章中利用em算法求出了对数似然值作为概率表参数,然后进行概率表计算,这个概率表是怎样计算的呀
  • ¥20 C#上传XML格式数据
  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
  • ¥20 手机截图相片分辨率降低一半