关于数据解析

创建包含 JSON 语法的 JavaScript 字符串:

var txt = ‘{ "employees" : [‘ +‘{ "firstName":"John" , "lastName":"Doe" },‘ +‘{ "firstName":"Anna" , "lastName":"Smith" },‘ +‘{ "firstName":"Peter" , "lastName":"Jones" } ]}‘;

由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。

eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:

var obj = eval ("(" + txt + ")");

历程:

<h2>Create Object from JSON String</h2>
<p>
First Name: <span id="fname"></span><br>
Last Name: <span id="lname"></span><br>
</p>
<script>
var txt = ‘{"employees":[‘ +
‘{"firstName":"John","lastName":"Doe" },‘ +
‘{"firstName":"Anna","lastName":"Smith" },‘ +
‘{"firstName":"Peter","lastName":"Jones" }]}‘;

var obj = eval ("(" + txt + ")");//

document.getElementById("fname").innerHTML=obj.employees[1].firstName
document.getElementById("lname").innerHTML=obj.employees[1].lastName
</script>

JSON.parse(text, reviver)

text  必需。 一个有效的 JSON 字符串。

reviver

可选。 一个转换结果的函数。 将为对象的每个成员调用此函数。 如果成员包含嵌套对象,则先于父对象转换嵌套对象。 对于每个成员,会发生以下情况:

如果 reviver 返回一个有效值,则成员值将替换为转换后的值。

如果 reviver 返回它接收的相同值,则不修改成员值。

如果 reviver 返回 null 或 undefined,则删除成员。

parse用于从一个字符串中解析出json对象,[使用 JSON.parse 将 JSON 字符串转换为对象]

cankao:http://blog.csdn.net/lowkeysk/article/details/8175195

var str = ‘{"name":"huangxiaojian","age":"23"}‘

结果:

JSON.parse(str)

Object

  • age: "23"
  • name: "huangxiaojian"
  • __proto__: Object

注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。

stringify()用于从一个对象解析出字符串,如

var a = {a:1,b:2}

结果:

JSON.stringify(a)

"{"a":1,"b":2}"

<h2>Create Object from JSON String</h2>
<p>
First Name: <span id="fname"></span><br>
Last Name: <span id="lname"></span><br>
</p>
<script>
var txt = ‘{"employees":[‘ +
‘{"firstName":"John","lastName":"Doe" },‘ +
‘{"firstName":"Anna","lastName":"Smith" },‘ +
‘{"firstName":"Peter","lastName":"Jones" }]}‘;

obj = JSON.parse(txt);//

document.getElementById("fname").innerHTML=obj.employees[1].firstName
document.getElementById("lname").innerHTML=obj.employees[1].lastName
</script>

JSONP 的知识[JSON with Padding]:是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据

为什么我们从不同的域(网站)访问数据需要一个特殊的技术(JSONP )呢?这是因为同源策略。

同源策略,它是由Netscape提出的一个著名的安全策略,现在所有支持JavaScript 的浏览器都会使用这个策略。

首先给出JSON字符串集,字符串集如下:

代码如下:
var data="
{
root:
[
{name:‘1‘,value:‘0‘},
{name:‘6101‘,value:‘北京市‘},
{name:‘6102‘,value:‘天津市‘},
{name:‘6103‘,value:‘上海市‘},
{name:‘6104‘,value:‘重庆市‘},
{name:‘6105‘,value:‘渭南市‘},
{name:‘6106‘,value:‘延安市‘},
{name:‘6107‘,value:‘汉中市‘},
{name:‘6108‘,value:‘榆林市‘},
{name:‘6109‘,value:‘安康市‘},
{name:‘6110‘,value:‘商洛市‘}
]
}"; 

在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式:

1.一种为使用eval()函数。

2. 使用Function对象来进行返回解析。

使用

使用eval函数来解析,并且使用jquery的each方法来遍历

jquery请求后返回的结果是json对象

参考:http://www.cnblogs.com/myjavawork/archive/2011/03/10/1979279.html

http://www.educity.cn/wenda/195035.html

服务器返回json字符串后,在jquery里怎么无法调用啊。怎么转换成对象?

服务器返回的字符串是:{"address":"china","name":"abc"}

我用jquery的post:

$.post("http://localhost:8080/testjquery/ok/testaction",function(data){

alert(data); //弹出:{&quot;address&quot;:&quot;china&quot;,&quot;name&quot;:&quot;abc&quot;}

alert(data.address); //没有显示,弹出undefine

},"text");

}

就是客户端接收到服务器返回的json字符串后,怎么转换成js的json对象,好通过对象.的方式访问数据。

先用js的eval函数将data转为对象

你返回的数据根本就不是json数据,Jquery里有个方法可以返回json类型数据,或者你在$.post时指定返回类型为json类型

时间: 2024-10-09 19:50:14

关于数据解析的相关文章

iOS网络数据解析

iOS开发过程中,网络数据的传输过程一般是:客户端发送请求给服务器,服务器接收到客户端发送的网络请求后返回相应的数据.此时客户端需要把服务器返回的数据转化为前段和移动端开发中使用的数据格式(如OC/java).后台服务器一般使用php.java..net进行开发,而前段和移动端使用的一般是OC/JAVA/HTML/CSS/JS,做好前后端的数据交互极为重要,如今数据交互常用的就是JSON和XML.下面就iOS开发过程中的JSON解析和XML解析进行简单的说明. 一.JSON解析 JSON是一种轻

json数据解析,并实现将网络json数据获取用listview显示

需要使用jar包 fastjson或gson这两个jar包. //Gson的使用方式 Gson gson=new Gson(); String str=ReadAssetsFile.readtext(this,"json_ss");//this当前类,"json_ss"需要解析的文件名 UserMessage userMessage=gson.fromJson(str,UserMessage.class);//需要解析的json文件最外层类名 //fastjson的

GPS(NMEA)数据解析

一.GPS定位信息 设置好gps模式,启动gps,正常的话在gps通路有NMEA数据上报,如下: $GPGSV,3,1,11,01,62,130,42,07,61,201,43,11,72,075,28,17,20,251,38*7A $GPGSV,3,2,11,30,63,272,44,03,00,149,,08,34,046,,13,05,309,*76 $GPGSV,3,3,11,22,08,127,,27,03,057,,28,34,312,*4C $GPGGA,042523.0,341

GPS数据解析

1.摘要 GPS模块使用串口通信,那么它的的数据处理本质上还是串口通信处理,只是GPS模块的输出的有其特定的格式,需要字符串处理逻辑来解析其含义.如何高效的处理从GPS模块接收到的数据帧,是GPS驱动设计的重点,本文使用状态机的思想来处理GPS输出的串口数据流,相对于定时从串口环形bufer取数据包然后依次解析有更高的实时性并且单片机负荷更低. 2. GPS数据协议简介 常用的GPS模块大多采用NMEA-0183 协议,目前业已成了GPS导航设备统一的RTCM(Radio Technical C

Gprinter光栅位图点阵数据解析工具

最近参与的项目有一个需求,解析佳博热敏打印机的光栅位图点阵数据并保存为图片文件.数据是通过Bus Hound抓取的,如下图所示. 其中1b 40为初始化打印机的指令,对应的ASCII码为ESC @,1b 4a 18为打印并走纸的指令,对应的ASCII码为ESC J,1d 76 30为打印光栅位图的指令,对应的ASCII码为GS v 0,其后紧跟光栅位图模式(0x00).水平方向位图字节数(0x0036)和垂直方向位图点数(0x0018),后面则为本帧的位图数据(0x36*0x18=1296字节)

iOS GET、POST数据解析

在实际开发中,JSON数据解析更简单易行,一般均使用json数据解析,因此,程序猿们请务必和后台搞好关系,让他给你json数据.    XML解析: ios SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选:TBXML.TouchXML.KissXML.TinyXML和GDataXML. 解析XML通常有两种方式:DOM和SAX DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),遍历树结构可以检索任意XML节点,读取它的属性和值.

第十五讲.数据解析(XML与JSON两种数据解析)

一.XML数据解析 1.SAX:Simple API for XML.基于事件驱动的解析方式,逐行解析数据.(采用协议回调机制) NSXMLParser的解析方法: 1 #import "ViewController.h" 2 #import "Model.h" 3 4 @interface ViewController ()<NSXMLParserDelegate> 5 6 @property(nonatomic,strong)UITableView

iOS开发——网络编程OC篇&amp;数据解析总结

数据解析总结 1 //***************************************************XML 2 3 /** 4 NSXML 5 */ 6 /** 7 // 1. 开始解析XML文档 8 - (void)parserDidStartDocument: 9 10 // 2. 开始解析某个元素,会遍历整个XML,识别元素节点名称 11 - (void)parser:didStartElement:namespaceURI:qualifiedName:attrib

Android JSON数据解析(GSON方式)

要创建和解析JSON数据,也可以使用GSON来完成.GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库.使用GSON,可以很容易的将一串JSON数据转换为一个Java对象,或是将一个Java对象转换为相应的JSON数据. 1.GSON的两个重要方法 在GSON的API中,提供了两个重要的方法:toJson()和fromJson()方法.其中,toJson()方法用来实现将Java对象转换为相应的JSON数据,fromJson()方法则用来实现将JSON数据转换

Node个人学习(三)----数据解析

GET数据解析: 使用自带的req.query进行解析 console.log(req.query); POST数据解析: 使用中间件(body-parser)加工一次后再使用req.body进行解析,若不进行加工,req.body解析出来的将是undifine const bodyParser=require("body-parser"); //导入中间件 var server=express(); //创建服务 server.use(bodyParser.urlencoded({}