关闭

Ajax中JSON数据的创建与获取【JQuery】

4758人阅读 评论(0) 收藏 举报
一直以来用ajax都是简单的传递字符串。目前项目中需要进行相对复杂的ajax传值,所以研究了一下json,居然以前没有接触过,囧啊。。。

JSON = Javascript Object Notation
它是javascript专有的一种数据格式,类似于xml,但是比xml还要简单易用。同时它也是轻量级的javascript库。

JSON 文件

  • JSON 文件的文件类型是 ".json"
  • JSON 文本的 MIME 类型是 "application/json"


定义它的基本格式是:

var people = {"programmers": [     {"firstName":"Brett","lastName":"McLaughlin","email":"brett@newInstance.com"},     
                                   {"firstName":"Jason","lastName":"Hunter","email":"jason@servlets.com"},     
                                   {"firstName":"Elliotte","lastName":"Harold","email":"elharo@macfaq.com"}   
                             ],   
              "authors": [     {"firstName":"Isaac","lastName":"Asimov","genre":"science fiction"},     
                               {"firstName":"Tad","lastName":"Williams","genre":"fantasy"},     
                               {"firstName":"Frank","lastName":"Peretti","genre":"christian fiction"}   
                         ],   
              "musicians": [     {"firstName":"Eric","lastName":"Clapton","instrument":"guitar"},     
                                 {"firstName":"Sergei","lastName":"Rachmaninoff","instrument":"piano"}   
                           ]   
    }


JSON 值可以是:

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null


调用方法:
name = people.programmers[0].firstName;

解析JSON文件:
obj = JSON.parse(txt);
name = obj.people.programmers[0].firstName;

AJAX中POST提交参数并获得JSON数据:

    $.post("myajax.do",{
                                 "name":$("#name").val()
                                        },
                        function(text){
                                            $("#name1").text(text.people[0].name);
                                            $("#tel").text(text.people[0].tel);
                                       },
              "json");



ACTION里手动转换JSON数据:

//获得表单传入参数
String name = myajaxForm.getName();
String tel = myajaxForm.getTel();
//实例化输出
Writer out = response.getWriter();
//引号未转义
String json = "{"people":
                         [
                              {
                              "name":name,
                              "tel":tel
                              }
                         ]
               }";
//输出
out.write(json);



【记得按钮onclick事件后一定要return false】
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:50459次
    • 积分:607
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类