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

原创 2012年03月26日 00:35:39
一直以来用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】

相关文章推荐

JQuery创建JSON对象

通过 JSON 字符串来创建对象 First Name: Last Name: //txt为字符串 var txt = '{"employees":[' + '{"firstName"...

利用Jquery+JS生成Json串,动态创建添加项

需求:在一张页面中创建若干个子问题。创建数量不确定,子问题没有主键ID可查。页面内容和子问题内容存在主外键关系。点击“保存”时,将主表内容和子问题内容一同保存进数据库。页面如下图: 主表和子表数据...

Js中动态创建Json,动态为Json添加属性、属性值

var param = {};  for(var i=0;i   var field = fields[i];   if(field.searchCondition != undefined &...

javascript、JQuery操作数组、Json对象、缓存

1.创建JSON对象 var objJson = [];   2.赋值 var objJson = jQuery.parseJSON('[{"PID":1,"Cnt":1}]'); objJso...

构造AJAX参数, 表单元素JSON相互转换

ajax提交服务器数据, 整理一下转换方法。 HTML: form id="fm" name="fm" action=""> input name="UserName" t...
  • hj7jay
  • hj7jay
  • 2016年05月04日 15:14
  • 1443

js 动态生成json对象、时时更新json对象

函数不需要 return,因为 json 对象会被函数直接修改。 1 2 3 4 5 6 7 8 9 10 ...

Jquery 使用Ajax获取后台返回的Json数据后,页面处理

$(function () { $.ajax({ url: 'jsondata.ashx', type: 'GET', ...

JQuery ajax获取JSON数据出现乱码

最近一段时间一直在学习JQuery,当学习到插件这一章时,下载了一个用于菜单导航的插件,里面的菜单项想改成中文并保存到JSON文件中,于是写了一段格式JSON文件,利用Jquery ajax方法从JS...

IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取

兼容问题1:页面的分享等插件加载不全,并无法点击。 兼容问题2:IE下页面选择器(#id、.class.etc.)绑定click事件无法访问到,后台springmvc方法,也无法获取ajax的succ...

【OFBiz】通过jquery的Ajax获取json数据

最近一直在做基于OFBiz的二次开发,一到用户登录,就很让人厌烦,频繁的登录(登录已经加过验证码),有点让人受不了。于是乎我就开始琢磨怎么通过ajax获取验证码,然后自动填充,这样一来就省事多了。 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Ajax中JSON数据的创建与获取【JQuery】
举报原因:
原因补充:

(最多只允许输入30个字)