js处理json数据报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js处理json数据报错相关的知识,希望对你有一定的参考价值。

.net c#开发,数据库中的json格式数据检索出来之后写入input, 然后利用js来处理, 运行时报0x800a138f - javascript 运行时错误: 无法获取未定义或 null 引用的属性“ <head>
<SCRIPT src="jquery-1.8.3.min.js"></SCRIPT><script>
$(function ()
var a =document.getElementById("Hidden1").value;
$("#header").html(a.bodyheader);
for (var i = 0; i < a.length; i++) //运行此循环时报错!!
$("#cont").html($("#cont").html() + "<br/>" + a.data[i].title + "<br/>" + a.data[i].content);

//此为title样式
$(".item").css( "color": "#ccc", "font-size": "14px" ); );
</script>
</head>
<body>
<div id="header"></div><br />
<div id="cont"></div> <p id="txt">
<input id="Hidden1" type="hidden" runat="server" />
</p>
</body>

json字符串应该还没有转换成对象吧
如:var a="data:[title:'x',content:'x1',title:'x',content:'x2']";
a = eval("("+a+")"); 或者JSON.parse(a);后者低级浏览器不支持
参考技术A a.data[i].title这个里面的变量a完全未定义嘛~~追问

咋解决啊?帮忙指点下啊

java将数据转换成json时,日期类型为空时报错, 我不想让报错 ,为空时 就直接转为空

JSONArray olist = JSONArray.fromObject(queueList);
是不是这样写也有问题

应该是日期有null值,2个方法,
第一个你自己处理queueList,把日期数据进行为空处理。date == null ? "":date

第二个方法,你重写fromObject方法,处理null的情况。
参考技术A 你应该提供一个方法对于某些特殊的值做处理,根据需求来,如date,bigdecimal,double,null等 最好都去想想要做什么样的处理, 参考技术B 要用JSONArray 肯定要处理queueList 把date类型转成string 参考技术C 直接JSONArray olist = new JSONArray(queueList); 参考技术D gson好用

String olist = new Gson().toJson(queueList);

以上是关于js处理json数据报错的主要内容,如果未能解决你的问题,请参考以下文章

[js] 处理字符串换行造成的json解析失败

js解析json字符串报错解决方案(带有转义字符的json字符串)

vue-cli项目 build后请求本地static文件中的 json数据,路径不对,报错404处理方法

关于json装换内容斜杠的处理

json格式如何读取有特殊字符的数据!内详!

java将数据转换成json时,日期类型为空时报错, 我不想让报错 ,为空时 就直接转为空