JSON之——与Javascript的情节

        大概半年前,在做“善良公社”项目时,就听组里人在谈论JSON,但自己一直没研究及使用过,前几天看“王兴魁——AJAX”视频时,才算是正式学习了一下,也跟随着完成了个小demo,只不过王兴魁里是以Java为后台语言讲解的。


一、规则简介
        JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。JSON的规则很简单:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。
        所以解析JSON对象的话JS非常简单!!示例:
function showJSON() {   
    var user =    
    {    
        "username":"lianhai",   
        "age":26,   
        "info": { "tel": "123456", "cellphone": "98765"},   
        "address":   
            [   
                {"city":"langfang","postcode":"222333"},   
                {"city":"cangzhou","postcode":"555666"}   
            ]   
    }   
       
    alert(user.username);   
    alert(user.age);   
    alert(user.info.cellphone);   
    alert(user.address[0].city);   
    alert(user.address[0].postcode);   
}   

二、使用方法

        那我想将Javascript里面的一些对象比如数组、函数、类转成JSON对象怎么办呢?

        可以使用第三方的一个JS包,JSON提供了json.js包,下载http://www.json.org/json.js 后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。

        那如果我想将一个字符串的东西转成JS里面的JSON对象又怎么办呢?
        答复:eval()
function myEval() {   
    var str = '{ "name": "Violet", "occupation": "character" }';   
    var obj = eval('(' + str + ')');   
    alert(obj.toJSONString());   
}   

        ——这个很有用的。AJAX里面接收到的数据一般是字符串然后我可以将其转换成json对象。这样就可以直接使用了!
        还有另外一种办法:使用parseJSON()方法!效果一样,一段示例:
        java 代码
response.getWriter().print("{ \"name\": \"Violet\", \"occupation\": \"character\" }");  
        再在页面中写一个ajax的请求
        js 代码
function sendRequest() {   
    var url = "/MyWebApp/JSONTest1";   
    var mailAjax = new Ajax.Request(   
        url,   
        {   
            method: 'get',   
            onComplete: jsonResponse   
        }   
    );   
}   
  
function jsonResponse(originalRequest) {   
    alert(originalRequest.responseText);   
    var myobj = originalRequest.responseText.parseJSON(); //转成JSON对象之后再使用  
    alert(myobj.name);   
}   



        这就是对JSON的一个简单介绍。当然,提及“JSON”,就不得不说与“XML”的区别,下篇博客将展开介绍,敬请期待!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 37
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值