转化服务器端传回的JSON数据

讲讲JS的内置函数eval()的用法.

最初用到它是为了将后台传送过来的JSON格式的字符串转化为JSON对象。后来发现它的功能的确很强大,远不止这点,但今天只讲它。如果想深入了解可以参考下W3School。

进入正题:

Java代码

<script>
var json='{"id":1}';
alert(json.id);
</script>

如果仔细看,可以发现,上面那段代码弹出的对话框是不能把id显示出来的。原因就是json只是个字符串对象而并不是真正的JSON对象,注意最外边那两个单引号。

Java代码

<script>
var json={"id":1};//去掉单引号
alert(json.id);
</script>

去掉单引号,id就成功显示了。此时的json就是个JSON对象。

现在从服务器端传回的JSON数据就是像第一个例子那样带单引号的,是不能直接使用的。那怎么办呢?

答案就是开头提到的eval()函数。

Java代码

<script>
var json='{"id":1}';
var jsonObj=eval("("+json+")");//注意这一行
alert(jsonObj.id);
</script>

id成功显示。

注意两个要点:

1、json如果只是单个对象,而不是对象数组,如上例所示,则不能直接写成eval(json).

2、不能把eval("("+json+")") 写成eval('("+json+")'),否则id照样不会显示。

再举一例:

Java代码

<script>
var json='[{"id":1}]';
var jsonObj=eval(json);
alert(jsonObj[0].id);
</script>

id照样能成功显示。注意区别:json包含的是一个对象数组,而非单个对象。但为什么这样就可以,而前面的例子却不可以,我就稀里糊涂了,还请大侠赐教。

时间: 2024-09-13 12:30:25

转化服务器端传回的JSON数据的相关文章

Silverlight实用窍门系列:38.Silverlight读取服务器端格式化的Json数据【附带实例源码】

Json数据是一种轻量级的数据交换格式,它的传输效率比XML更高,在Silverlight的应用起来可以让Silverlight获取数据速度增快,减少传输的字符数量.在本节将用一个实例来讲解如何将一个类序列化为Json数据并且传输到Silverlight端. 实现原理:在服务器端新建一个一般处理程序页面"GetJson.ashx",使用DataContractJsonSerializer类的WriteObject()函数来将类序列化为Json数据集合,然后再Silverlight端通过

c++ http-从网关发过的是http协议的json数据,我c++服务器端如何接收这部分数据?

问题描述 从网关发过的是http协议的json数据,我c++服务器端如何接收这部分数据? 从网关发过的是http协议的json数据,我c++服务器端如何接收这部分数据? 解决方案 C++先当字符串方式接收,然后在用jsoncpp等库把字符串转换成json对象解析 解决方案二: encienqi-----服务器端输出 JSON 格式数据服务器端输出 JSON 格式数据服务器端输出 JSON 格式数据 解决方案三: http://blog.csdn.net/querw/article/details

服务器端JSON数据或者xml数据如何存放和设置

问题描述 服务器端JSON数据或者xml数据如何存放和设置 本人初学,正在做关于手机app版本升级这块,手机app要从网上得到app version信息,这就需要用到JSON或者xml.现在问题是我知道JSON和xml数据如何解析,但不知道如何从服务器或者其他网页上等得到JSON和xml数据,还有我怎么才能生成JSON或xml数据文件,要以什么样的形式(嵌到代码里还是直接把生成的文件copy到服务器上等等就可以)放到网页上或者服务器上,生成JSON数据是不是还要用到servlet,这个没研究过.

这是服务器端获取的json,但不知道怎样转成对象,这是map转化的json吗?该怎么转化

问题描述 这是服务器端获取的json,但不知道怎样转成对象,这是map转化的json吗?该怎么转化 解决方案 如果是java就用jsonobject直接转成对象,按按字段名访问,或者声明一个和json结构一样的类,用gson直接转成类实际

js json数据转化成数组问题

问题描述 js json数据转化成数组问题 我想获取json数据里的oddslist[ball][1][1]的数据,在js里面怎么转换?在线等大神的回复..... { "number": "20150626053", "endtime": 41, "opentime": 101, "oddslist": { "ball": { "1": { "1"

Asp.net中Json数据的转化,读取与应用

  JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,而且它是基于JavaScript 的. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript 等).这些特性使JSON成为理想的数据交换语言.   Json数据有严格的格式,必须遵守这个格式才可以被解析,主要有两种结构   ①"名/值"对的集合在不同的语言中被理解

android客户端从服务器端获取json数据并解析的实现代码_Android

首先客户端从服务器端获取json数据 1.利用HttpUrlConnection 复制代码 代码如下: /**      * 从指定的URL中获取数组      * @param urlPath      * @return      * @throws Exception      */     public static String readParse(String urlPath) throws Exception {                  ByteArrayOutputSt

[IOS]UIWebView实现保存页面和读取服务器端json数据

如何通过viewView保存访问过的页面?和如何获取并解析服务器端发送过来的json数据?通过一个简单的Demo来学习一下吧! 操作步骤: 1.创建SingleViewApplication应用,新建VIewController,并在xib试图中添加WebView,继承webview的Delegate协议. 2.将ViewController类遵循UIWebViewDelegate和NSURLConnectionDataDelegate协议,并且实现协议中的方法. ViewController.

【JSON 注解】JSON循环引用2----JSON注解@JsonIgnoreProperties+JAVA关键字transient+后台对象与JSON数据的格式互相转化

接着来说这个JSON循环引用的问题: 关于JSON格式的转化,其实关键就是这几个依赖: 1 <!-- json --> 2 3 <!-- 1号 --> 4 <dependency> 5 <groupId>com.fasterxml.jackson.core</groupId> 6 <artifactId>jackson-core</artifactId> 7 <version>2.8.1</version