`
Odysseus_110
  • 浏览: 121522 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

读取json数据

阅读更多

最近做的东西想要用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">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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":" &#x9999;&#x6E2F;&#x7FE1;&#x7FE0;",
	"fshowdata":"00:00 &#x5348;&#x591C;&#x65B0;&#x95FB;1% 00:30 &#x65B0;&#x95FB;1+1&#xFF1A;&#x65F6;&#x4E8B;&#x5F00;&#x8BB2;"
        },
	{
        "chnum":"2",
	"chid":"61072",
	"chname":" &#x9999;&#x6E2F;&#x7FE1;&#x7FE0;",
	"fshowdata":"00:00 &#x5348;&#x591C;&#x65B0;&#x95FB;1% 00:30 &#x65B0;&#x95FB;1+1&#xFF1A;&#x65F6;&#x4E8B;&#x5F00;&#x8BB2;"
        },
	{
        "chnum":"3",
	"chid":"61074",
	"chname":" &#x9999;&#x6E2F;&#x7FE1;&#x7FE0;",
	"fshowdata":"00:00 &#x5348;&#x591C;&#x65B0;&#x95FB;1% 00:30 &#x65B0;&#x95FB;1+1&#xFF1A;&#x65F6;&#x4E8B;&#x5F00;&#x8BB2;"
        },
	{
        "chnum":"4",
	"chid":"61075",
	"chname":" &#x9999;&#x6E2F;&#x7FE1;&#x7FE0;",
	"fshowdata":"00:00 &#x5348;&#x591C;&#x65B0;&#x95FB;1% 00:30 &#x65B0;&#x95FB;1+1&#xFF1A;&#x65F6;&#x4E8B;&#x5F00;&#x8BB2;"
        },
        ]	
}

 读取到这些数据后设置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图标

    html读取json数据百度地图api加载json数据加载marker图标

    jQuery读取json数据

    关于"jQuery读取json数据"这个主题,我们将会深入探讨如何利用jQuery的Ajax功能来高效地加载和解析JSON格式的数据,以及这样做带来的优势。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于...

    读取json数据动态生成table

    总结一下,读取JSON数据并动态生成HTML表格的关键步骤包括: 1. 使用fetch或XMLHttpRequest获取JSON数据。 2. 解析JSON数据。 3. 创建HTML表格结构,包括表头和数据行。 4. 遍历JSON数据,为每一条数据创建表格行和...

    Js读取json数据实现滚动分页实例

    总结一下,实现JavaScript读取JSON数据并进行滚动分页的主要步骤包括: 1. 解析JSON数据为JavaScript对象。 2. 监听窗口滚动事件。 3. 当用户滚动到页面底部时,向服务器请求下一页数据。 4. 将返回的新数据添加到...

    Js读取json数据实现滚动分页实例.rar

    Js读取json数据实现滚动分页实例 Js读取json数据实现滚动分页实例 Js读取json数据实现滚动分页实例

    javascript读取Json数据分页显示

    在这个场景中,我们将讨论如何使用JavaScript从JSON数据源中读取数据,并实现支持键盘和滚轮翻页的功能。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于...

    VC++读取json格式数据(测试可用).rar.rar

    2. **加载JSON**:然后,使用库提供的函数读取JSON数据。如果是文件,可能使用`std::ifstream`打开文件,然后用库的`parse`方法解析;如果是字符串,可以直接传入`parse`方法。 3. **解析JSON**:一旦数据被加载,...

    Unity读取json数据(包含LitJson和JSONobject下载地址).rar

    本教程将围绕Unity如何读取JSON数据进行讲解,并提供两种常用的库——LitJson和JSONObject。 首先,我们来看`ReadJson.cs`文件,这是Unity中处理JSON数据的核心代码。在Unity中,我们通常会创建一个C#类来映射JSON...

    android读取JSON数据在百度地图上画线

    本项目"android读取JSON数据在百度地图上画线"提供了一个实际的示例,展示如何使用Android Studio处理JSON数据并在百度地图API上绘制多条折线覆盖物。以下是该项目涉及的关键知识点: 1. **Android Studio**: ...

    wpf读取json地址数据

    在C#中,我们可以使用.NET框架提供的System.Text.Json库来解析和序列化JSON数据。 在WPF项目中,我们需要一个JSON文件存储地址数据。假设我们有一个名为`address.json`的文件,其中包含如下结构: ```json { ...

    Jayrock.Json读取json数据(net).docx

    Jayrock.Json读取json数据(net).docx

    Jayrock.Json读取json数据(net).pdf

    Jayrock.Json读取json数据(net).pdf

    Delphi10 JSon 基本读写例子,Delphi11 JSON 读写Demo

    3. **读取JSON数据**: - 一旦解析了JSON对象,可以通过`GetValue`或`GetObject`方法访问其成员。例如,获取并显示姓名和年龄: ```delphi var NameValue, AgeValue: TJSONValue; begin NameValue := ...

    VC++读取json格式数据

    以下是使用JSONcpp库在VC++中读取JSON数据的基本步骤: 1. **集成JSONcpp库**:首先,你需要将`jsoncpp-src-0.5.0`中的源代码文件加入到你的VC++项目中。通常,这包括`include`目录下的头文件和`src`目录下的源文件...

    背包系统,读取Json数据生成物品,物品拖拽功能

    实现了通过读取Json数据自动生成菜单物品,在空槽中的物品摆放等。

    UE4JSON读取例子

    下面是一个简单的步骤来说明如何在UE4中读取JSON数据: 1. **导入所需头文件**: 在你的C++源代码中,引入以下头文件: ```cpp #include "CoreMinimal.h" #include "Json/Public/JsonUtilities.h" #include ...

    Json-Excel导入导出

    这个过程通常包括读取JSON数据、解析JSON、创建Java对象以及生成Excel文件。 3. **Excel到JSON的转换**:相反,如果需要将Excel文件转换为JSON,你可以先读取Excel文件,将其内容转换为一个`List`或`Map`对象,然后...

    经典ASP读取JSON字符串/生成JSON对象,数组对象等。

    这个文件可能包含了读取JSON数据的示例代码,可能包括从文件、数据库或其他数据源读取JSON,然后使用ASPJSON库进行解析和操作。 总结,经典ASP处理JSON主要依赖于第三方库,如`aspjson`。通过学习这些技术,开发者...

    js读取json数据动态生成列数不固定的表格

    在本场景中,我们关注的是如何利用js从本地的JSON数据文档中读取信息,然后根据数据结构动态生成列数不固定的表格。这涉及到几个关键的知识点: 1. **JSON数据解析**:JSON(JavaScript Object Notation)是一种轻...

    VC++读取json格式数据(测试可用).rar.rar.rar

    3. **读取JSON数据**: 假设你有一个JSON字符串存储在`std::string`变量`jsonStr`中,你可以使用`rapidjson::Document`来解析这个字符串: ```cpp rapidjson::Document doc; doc.Parse(jsonStr.c_str()); if (doc...

Global site tag (gtag.js) - Google Analytics