javascript中JSON数据接受,处理介绍

js读取JSON的方法我接触到的有两种:

方法一:函数构造定义法返回

 代码如下 复制代码

var strJSON = "{name:'json name'}";//得到的JSON
var obj = new Function("return" + strJSON)();//转换后的JSON对象
alert(obj.name);//json name

方法二:js中著名的eval函数

 代码如下 复制代码

var strJSON = "{name:'json name'}";//得到的JSON
var obj = eval( "(" + strJSON + ")" );//转换后的JSON对象
alert(obj.name);//json name

第二种方法需要注意的是,对象表达式{'name':'json name'}必须用“()”扩住,否则

 代码如下 复制代码

var strJSON = "{name:'json name'}";
var obj = eval(strJSON);
alert(obj.constructor);//String 构造函数
alert(obj.name);//undefine

必须把对象表达式扩起来eval执行才能生成一个匿名对象!

JS跨域接收JSON数据

PHP脚本服务端

 代码如下 复制代码

<?php
if(isset($_GET['callback']) && !empty($_GET['callback'])) {
    echo $_GET['callback'] . '({"name":"踏雪残情", "profession":"phper"})';
}
?>

$_GET['callback']即是在客户端要调用的JS函数名,{"name":"踏雪残情", "profession":"phper"}即服务端返回的JSON数据。

四、JS客户端

 代码如下 复制代码

<script type="text/javascript">
function func(data) {
    alert('姓名:' + data.name + ', 职业:' + data.profession);
}
</script>

<script type="text/javascript" src="/technology/jsonp/server.php?callback=func"></script>

你可以在本地执行,结果将弹出“姓名:踏雪残情, 职业:phper”。

五、JQuery应用

JQuery的getJSON函数已集成了跨域访问的功能,需在url的地址上跟上一个参数,参数值用?占位符替代,如下所示,执行时JQuery会把占位符自动替换为时间戳的函数名。

 代码如下 复制代码

<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$.getJSON('/technology/jsonp/server.php?callback=?', function(data) {
    alert('姓名:' + data.name + ', 职业:' + data.profession);
});
</script>

接受后我们需要处理json数据

 代码如下 复制代码

 function showUserList()
         { 
             postXmlHttp("./UserListServlet.do","UserCallback(resultValue)","Loading()");
         }
        
         function UserCallback(jsonDate)
         {
             //json数据 序列化成js对象
    var jsObject = eval('('+jsonDate+')');
             var htmlStr = "<table align=center width=60%>"+
               "<tr>"+
                   "<th>用户ID</th><td>密码</td><td>用户名</td><td>位置</td><td>操作</td>"+
               "</tr>";
             for(var i=0;i<jsObject.length;i++)
             {
                 htmlStr+="<tr id='tr"+i+"'>"+
                              "<td>"+jsObject[i].userid+"</td>"+
                              "<td>"+jsObject[i].pword+"</td>"+
                              "<td>"+jsObject[i].username+"</td>"+
                              "<td>"+jsObject[i].position+"</td>"+
                              "<td><a herf='#' onclick="editUser(tr"+i+");">编辑</a></td>"+
                          "</tr>";
             }
             div.innerHTML=htmlStr+"</table>";
         }
        
         function Loading()
         {
            //div.style="with:100%;text-align:center";
            div.innerHTML="<font color=red>正在获取数据请稍候... ...</font>";
        
         }

时间: 2024-08-01 18:01:16

javascript中JSON数据接受,处理介绍的相关文章

JavaScript中setter和getter方法介绍_javascript技巧

javascript中的setter.getter是平时接触比较少的方法,其本身也并不是标准方法,只在非ie浏览器里支持(ie内核也许有其他方法可以做到呢?暂时不知其解),但是加以利用可以做许多事情,比如: 1.对数据的访问限制: a.value是对value变量的getter方法调用,如果在getter方法实现中抛出异常,可以阻止对value变量的访问 2.对dom变量进行监听: window.name是一个跨域非常好用的dom属性(大名鼎鼎,详见百度),如果覆盖window.name的set

JS中Json数据的处理和解析JSON数据的方法详解_javascript技巧

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.C#.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). JSON的规则很简单: 对象是一个无序的"'名称/值'对"集合.一个对象以&quo

Android中Json数据读取与创建的方法

首先介绍下JSON的定义,JSON是JavaScript Object Notation的缩写. 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. JSON的结构: (1) Name/Value Pairs(无序的):类似所熟知的Keyed list. Hash table.Disctiona

JavaScript中使用Callback控制流程介绍

 这篇文章主要介绍了JavaScript中使用Callback控制流程介绍,本文讲解了callback的一些问题和优化后的写法并给出代码实例,需要的朋友可以参考下     javascript中随处可见的callback对于流程控制来说是一场灾难,缺点显而易见: 1.没有显式的return,容易产生多余流程,以及由此引发的bug. 2.造成代码无限嵌套,难以阅读. 下面就来说说怎么解决避免上述的问题. 第一个问题是一个习惯问题,在使用callback的时候往往会让人忘了使用return,这种情况

JavaScript中的DSL元编程介绍

 这篇文章主要介绍了JavaScript中的DSL元编程介绍,本文讲解了JavaScript元编程.JavaScript eval.JavaScript new Function()等内容,需要的朋友可以参考下     在看JavaScript Template源码的时候,发现有一个很有意思的用法用来生成函数,想到这不就是元编程么? JavaScript 元编程   代码如下: 元编程(Metaprogramming)是指某类计算机程序的编写,这类计算机程序编写或者操纵其他程序(或者自身)作为它

javascript生成json数据简单示例分享

 这篇文章主要介绍了javascript生成json数据示例,需要的朋友可以参考下  代码如下: //定义对象 var finalInfo = new Object();  //为对象赋值 finalInfo.purchaseInfoId = ''; finalInfo.purchaseMethodType = ''; finalInfo.contact = ''; finalInfo.contactTel = ''; finalInfo.bidInfoStr = ''; //将对象转换为jso

IOS中JSON数据的解析

IOS中JSON数据解析 官方为我们提供的解析JSON数据的类是NSJSONSerialization,首先我们先来看下这个类的几个方法: + (BOOL)isValidJSONObject:(id)obj; 判断一个数据对象是否可以转化为JSON数据 + (NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error; 将JSON数据写为NSData数据,其中opt参数

Javascript中的arguments与重载介绍

 这篇文章主要介绍了Javascript中的arguments与重载介绍,本文讲解了Javscript 重载.Javascript arguments不是一个数组等内容,需要的朋友可以参考下     因为语言上的设计错误,arguments可以被当成一个数组. 代码如下: function zero () { console.log(arguments[0]); } 也会有 代码如下: function zero () { for(var i=0;i<arguments.length;i++){

ios-iOS中json数据转模型问题

问题描述 iOS中json数据转模型问题 小白想问下大神们下面的Json数据使用MJExtension应该怎么转成模型呢? { "status": 200, "msg": "ok", "data": { "user_id": "999998889", "user_name": "刘清扬", "is_daren": "1