最近做的东西想要用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图标
关于"jQuery读取json数据"这个主题,我们将会深入探讨如何利用jQuery的Ajax功能来高效地加载和解析JSON格式的数据,以及这样做带来的优势。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于...
总结一下,读取JSON数据并动态生成HTML表格的关键步骤包括: 1. 使用fetch或XMLHttpRequest获取JSON数据。 2. 解析JSON数据。 3. 创建HTML表格结构,包括表头和数据行。 4. 遍历JSON数据,为每一条数据创建表格行和...
总结一下,实现JavaScript读取JSON数据并进行滚动分页的主要步骤包括: 1. 解析JSON数据为JavaScript对象。 2. 监听窗口滚动事件。 3. 当用户滚动到页面底部时,向服务器请求下一页数据。 4. 将返回的新数据添加到...
Js读取json数据实现滚动分页实例 Js读取json数据实现滚动分页实例 Js读取json数据实现滚动分页实例
在这个场景中,我们将讨论如何使用JavaScript从JSON数据源中读取数据,并实现支持键盘和滚轮翻页的功能。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于...
2. **加载JSON**:然后,使用库提供的函数读取JSON数据。如果是文件,可能使用`std::ifstream`打开文件,然后用库的`parse`方法解析;如果是字符串,可以直接传入`parse`方法。 3. **解析JSON**:一旦数据被加载,...
本教程将围绕Unity如何读取JSON数据进行讲解,并提供两种常用的库——LitJson和JSONObject。 首先,我们来看`ReadJson.cs`文件,这是Unity中处理JSON数据的核心代码。在Unity中,我们通常会创建一个C#类来映射JSON...
本项目"android读取JSON数据在百度地图上画线"提供了一个实际的示例,展示如何使用Android Studio处理JSON数据并在百度地图API上绘制多条折线覆盖物。以下是该项目涉及的关键知识点: 1. **Android Studio**: ...
在C#中,我们可以使用.NET框架提供的System.Text.Json库来解析和序列化JSON数据。 在WPF项目中,我们需要一个JSON文件存储地址数据。假设我们有一个名为`address.json`的文件,其中包含如下结构: ```json { ...
Jayrock.Json读取json数据(net).docx
Jayrock.Json读取json数据(net).pdf
3. **读取JSON数据**: - 一旦解析了JSON对象,可以通过`GetValue`或`GetObject`方法访问其成员。例如,获取并显示姓名和年龄: ```delphi var NameValue, AgeValue: TJSONValue; begin NameValue := ...
以下是使用JSONcpp库在VC++中读取JSON数据的基本步骤: 1. **集成JSONcpp库**:首先,你需要将`jsoncpp-src-0.5.0`中的源代码文件加入到你的VC++项目中。通常,这包括`include`目录下的头文件和`src`目录下的源文件...
实现了通过读取Json数据自动生成菜单物品,在空槽中的物品摆放等。
下面是一个简单的步骤来说明如何在UE4中读取JSON数据: 1. **导入所需头文件**: 在你的C++源代码中,引入以下头文件: ```cpp #include "CoreMinimal.h" #include "Json/Public/JsonUtilities.h" #include ...
这个过程通常包括读取JSON数据、解析JSON、创建Java对象以及生成Excel文件。 3. **Excel到JSON的转换**:相反,如果需要将Excel文件转换为JSON,你可以先读取Excel文件,将其内容转换为一个`List`或`Map`对象,然后...
这个文件可能包含了读取JSON数据的示例代码,可能包括从文件、数据库或其他数据源读取JSON,然后使用ASPJSON库进行解析和操作。 总结,经典ASP处理JSON主要依赖于第三方库,如`aspjson`。通过学习这些技术,开发者...
在本场景中,我们关注的是如何利用js从本地的JSON数据文档中读取信息,然后根据数据结构动态生成列数不固定的表格。这涉及到几个关键的知识点: 1. **JSON数据解析**:JSON(JavaScript Object Notation)是一种轻...
3. **读取JSON数据**: 假设你有一个JSON字符串存储在`std::string`变量`jsonStr`中,你可以使用`rapidjson::Document`来解析这个字符串: ```cpp rapidjson::Document doc; doc.Parse(jsonStr.c_str()); if (doc...