`
hyj1254
  • 浏览: 340261 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多
  讲讲JS的内置函数eval()的用法.
  最初用到它是为了将后台传送过来的JSON格式的字符串转化为JSON对象。后来发现它的功能的确很强大,远不止这点,但今天只讲它。如果想深入了解可以参考下W3School。
进入正题:
<script>
var json='{"id":1}';
alert(json.id); 
</script>

如果仔细看,可以发现,上面那段代码弹出的对话框是不能把id显示出来的。原因就是json只是个字符串对象而并不是真正的JSON对象,注意最外边那两个单引号
<script>
var json={"id":1};//去掉单引号
alert(json.id); 
</script>

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

现在从服务器端传回的JSON数据就是像第一个例子那样带单引号的,是不能直接使用的。那怎么办呢?
答案就是开头提到的eval()函数。
<script>
var json='{"id":1}';
var jsonObj=eval("("+json+")");//注意这一行
alert(jsonObj.id); 
</script>

id成功显示。
注意两个要点
1、json如果只是单个对象,而不是对象数组,如上例所示,则不能直接写成eval(json).
2、不能把eval("("+json+")") 写成eval('("+json+")'),否则id照样不会显示。

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

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


1
0
分享到:
评论
1 楼 蓝语调 2011-03-28  
加括号是为了明确这是一个对象,这样解析起来才不会产生歧义。

相关推荐

    JS解析后台返回的JSON格式数据实例

    ”)将后台传回的数据转化为JSON格式,否则不需要转换。 遍历json中的array方法: $.each jquery.each for (var i in array) { array[i]. } 以上这篇JS解析后台返回的JSON格式数据实例就是小编分享给大家的全部内容...

    JSON教程(格式,解析方法等)

    服务器端为了处理JSON数据,通常需要使用JSON解析库,例如***提供的JSON解析器,或者其他的JSON Java库,以便将JSON格式的数据转换为服务器端可以处理的各类数据结构。 在实际的应用中,JSON格式的数据在传输时被...

    后台传回的json数据含有html标签,无法在wxml正确显示,滚动到某个位置添加cl

    服务器端可能会使用各种后端技术(例如Node.js、Django、Spring等)来处理这些请求,并将响应数据以JSON(JavaScript Object Notation)格式传回给前端。JSON是一种轻量级的数据交换格式,易于人阅读和编写,也易于...

    如何解决后台传回的数据不是正常的json数据,例如是个List [ ]

    在处理JSON数据时,确保数据格式的标准化至关重要,这不仅可以简化前端的解析逻辑,还能减少因数据格式问题引发的错误。在遇到非标准格式时,应优先考虑调整后端返回的数据格式,如果无法改变,可以采取上述临时...

    Ajax JSON处理Servlet传回的值

    在我们的示例中,服务器端的Servlet将处理这个请求,并返回JSON格式的数据。 在Servlet端,我们需要创建一个Servlet来处理HTTP请求。这个Servlet会接收到客户端发送的请求,执行相应的业务逻辑,然后将结果封装成...

    json的jar包

    在AJAX中,服务器端处理完数据后,可以通过JSON格式返回一个列表(list)或者数组给前端页面,前端的JavaScript代码可以直接将这些数据转化为JavaScript对象,从而更新DOM,实现页面的局部刷新。相比于XML,JSON的...

    Android Studio实现MQTT数据收发及数据处理

    在Android Studio实现MQTT对主题的订阅和数据的收发,以及将数据封装成对象传回MainActivity,方便进行数据处理,其操作信息在TextView中展示相关的数据。对相关的数据一目了然,同时,在页面中为物联网的开发提供了...

    后台传回的json数据含有html标签,无法在wxml正确显示

    将html内容转成json数据   // xxx.js onLoad:function(){ var that = this; wx.request({ url: '', data: {}, header: {'content-type': 'application/json'}, success: function(res) { console.log(res.data); ...

    json转为树形数据.zip

    有时候,我们需要将后台传回的JOSN格式展示给用户看,这时需要将json格式的数据转为树结构所需要的数据结构,如图var data={ "code": 0, "msg": "操作成功", "data": { "access_token": "6b858817-...

    node.js简单爬虫

    可以作为node.js写爬虫的入门例子,代码也很单纯,http请求用superagent包实现,服务器端传回的json数据用cheerio包实现,无数据库代码。

    C++基于TCP的迭代回声服务器端客户端实现

    使用Socket套接字编程,实现TCP的迭代服务器端/客户端,要求服务器端在同一时刻只与一个客户端相连,客户端接收用户输入的字符串并发送到服务器端,服务器端将接收的字符串数据传回客户端,即“回声”,服务器端与...

    Jquery通过ajax请求NodeJS返回json数据实例

    如果请求成功,`success`回调函数会被调用,其中`data`参数包含了从服务器返回的JSON数据。 总结来说,这个组合利用了Node.js的非阻塞I/O特性和JavaScript的通用性,以及jQuery对DOM操作和Ajax请求的强大支持,提供...

    条形码打印程序,接收数据采集器传回的数据

    当数据采集器接收到数据后,它会通过蓝牙、Wi-Fi或其他通信协议与电脑或服务器进行交互,将数据发送到条形码打印程序。 在条形码打印程序中,接收到的数据会被解析和处理,以确保它们符合指定的格式。例如,可能...

    jQuery中ajax请求后台返回json数据并渲染HTML的方法

    &lt;input type=text name=dishes value= class=seek_product placeholder=请输入菜名/&gt; &lt;button type='button' class=btn_nor onclick=seek_product()&gt;搜索&lt;/button&gt;...th width=70%

    C# WinForm提交表单到网页,并且获取反馈数据

    获取到服务器返回的数据后,根据数据类型进行解析。如果是JSON,可以使用`Newtonsoft.Json`库的`JsonConvert.DeserializeObject`方法;如果是XML,可以使用`System.Xml.Linq`库的`XDocument.Parse`或`XElement....

    ext前台接收action传过来的json数据示例

    这个过程涉及到Ext JS组件的管理、JSON数据的处理以及前后端的通信。掌握这些知识点,对于开发复杂的Web应用程序是至关重要的。需要注意的是,在实际编码过程中,对于使用eval()函数来解析JSON字符串,需要特别小心...

    父子窗体间传递JSON格式的数据的代码

    在本例中,子窗体中的操作结果被构造为JSON格式的字符串,然后通过JavaScript的opener对象调用父窗体中定义的方法(例如opener.GetZXDF),将JSON数据作为参数传递给父窗体。这种方式的核心是使用了JavaScript的 ...

    百度语音转文字,前端传回的base64位录音数据

    4. **处理API响应**:API调用完成后,服务器会返回一个JSON响应,包含识别出的文字。在.NET中,可以使用`JsonSerializer`类或第三方库(如Newtonsoft.Json)来解析这个响应,并提取出识别结果。 5. **将结果返回给...

    yolo:客户端发送图片给服务器,服务器调用yolo算法解析图片,返回json

    服务器端的实现可能使用C语言,标签“C”可能指的是服务器端的部分是用C语言编写的。C语言虽然不是现代Web开发的首选,但它在系统编程和高性能计算方面依然有其优势,可能用于编写高效的图像处理和YOLO推理代码。 ...

    基于 PHP的路政设施管理系统服务器端软件设计实现

    借助通讯设备获取客户端采集到的路政实时信息,通过 Internet 将数据传回路政管理系统服务器端,实现对高速公路路政的现代化管理,特别是对高速公路路障管理、公路事故、公路违章等进行完整的监控而开发出来的。...

Global site tag (gtag.js) - Google Analytics