最近做的东西想要用js直接读取json格式的文件,读取的文件是标准的json格式,所以直接采用eval函数得到数据。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<title>Example: Number menu</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT LANGUAGE="JavaScript">
<!--
//alert("gsgd");
var xmlDoc=null;
var date = new Date();
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
xmlDoc = new XMLHttpRequest();
}else if(window.ActiveXObject){
xmlDoc = new ActiveXObject("Microsoft.XMLHTTP");
}else{
return;
}
}
function loadIndex()
{
createXMLHttpRequest();
xmlDoc.onreadystatechange = function(){
if(xmlDoc.readyState == 4){
if(xmlDoc.status==200){
var tvdata = xmlDoc.responseText;
var result = eval('(' + tvdata + ')');//eval(tvdata);
var testhanzi = result.data[0].chname;
document.getElementById("testh1").innerHTML=testhanzi;
//}
}
}
}
xmlDoc.open("GET","tvdata.txt",true);
xmlDoc.send(null);
}
//-->
</SCRIPT>
</head><body >
<div id="mainpage">
<div class="today">
<h1 id = "testh1" style="color: red"> ss</h1>
</div>
</div>
<SCRIPT LANGUAGE="JavaScript">
loadIndex();
</SCRIPT>
</body></html>
文件数据:
({
data:[
{
chnum:"1",
chid:"61033",
chname:"香港翡翠",
fshowdata:"00:00 午夜新闻1% 00:30 新闻1+1:时事开讲"
},
{
chnum:"2",
chid:"61242",
chname:"香港本港",
fshowdata:"00:00 午夜新闻2% 00:30 新闻1+1:时事开讲"
},
{
chnum:"3",
chid:"61251",
chname:"风云足球",
fshowdata:"00:00 午夜新闻3% 00:30 新闻1+1:时事开讲"
},
{
chnum:"4",
chid:"61247",
chname:"星空传媒",
fshowdata:"00:00 午夜新闻4% 00:30 新闻1+1:时事开讲"
},
{
chnum:"5",
chid:"61253",
chname:"星空卫视",
fshowdata:"00:00 午夜新闻5% 00:30 新闻1+1:时事开讲"
}
]
})
由于是读取文件,不是从服务器上获取数据,服务器端的输出控制类似 response.setCharacterEncoding(
"UTF-8"
); 发现只要是有中文字符,galio浏览器就读取文件后就认为这里的json格式有错误。所以想到的办法就是把文件先转码,再读取,用
http://www.zzsky.cn/tool/utf-8/
或者
http://hi.baidu.com/st9489/blog/item/743e6ccbd13a4a1ebf09e617.html
的方法都行,转换之后的数据文件:
{
"data":[{
"chnum":"1",
"chid":"61033",
"chname":" 香港翡翠",
"fshowdata":"00:00 午夜新闻1% 00:30 新闻1+1:时事开讲"
},
{
"chnum":"2",
"chid":"61072",
"chname":" 香港翡翠",
"fshowdata":"00:00 午夜新闻1% 00:30 新闻1+1:时事开讲"
},
{
"chnum":"3",
"chid":"61074",
"chname":" 香港翡翠",
"fshowdata":"00:00 午夜新闻1% 00:30 新闻1+1:时事开讲"
},
{
"chnum":"4",
"chid":"61075",
"chname":" 香港翡翠",
"fshowdata":"00:00 午夜新闻1% 00:30 新闻1+1:时事开讲"
},
]
}
读取到这些数据后设置gb2312(转换的时候是转换成utf-8)
content="text/html; charset=gb2312"
document.getElementById("testh1").innerHTML=testhanzi
然后直接用innerHTML 就可以显示汉字,这里如果用
document.getElementById("testh1").appendChild(document.createTextNode(testhanzi));
就会显示的是编码。
分享到:
相关推荐
html读取json数据百度地图api加载json数据加载marker图标
支持键盘和滚轮翻页的javascript读取Json数据分页显示
Js读取json数据实现滚动分页实例,供参考!
jQuery去读取json的数据非常非常方面而且大大提高了用户界面的可读性,提高了读取的效率,比读xml文件更加方面
Js读取json数据实现滚动分页实例 Js读取json数据实现滚动分页实例 Js读取json数据实现滚动分页实例
wpf里面读取json地址数据,绑定到combobox里面达到三级联动的效果
Unity使用jsonreader读取json数据,里面还附送Litjson文件和Jsonobject下载方式
实现了通过读取Json数据自动生成菜单物品,在空槽中的物品摆放等。
用js加载json数据,然后用table显示。
主要介绍了Python读取JSON数据操作实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
用android studio 写的工程,在百度地图上读取json格式的数据 通过添加折线覆盖物画多条线 工程亲测可用
js读取本地json数据文档,动态生成列数不固定的表格并填充数据。
VC++读取json格式数据(测试可用).rar.rar
加载非常快的树,读取json格式数据! 特地上传给大家分享!
使用递归方法循环读取省市区的json文件数据,并保存到数据库中,经测试可以直接使用,代码里包含省市区的json文件,递归读取方法,可用作系统省市区数据初始化作用
开发过程中经常会遇到json数据的处理,而单独对json数据进行增删改并不方便,尤其是Geojson文件的处理,通过对网络资料的整理总结,下面介绍Java语言方法对json数据进行读取、添加、删除与修改操作。
微信小程序获取json页面数据