JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。

JSON的规则很简单: 对象是一个无序的“‘名称/值'对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值' 对”之间使用“,”(逗号)分隔。具体细节参考http://www.json.org/json-zh.html

举个简单的例子:

js 代码

这表示一个user对象,拥有username,age,info,address 等属性。

同样也可以用JSON来简单的修改数据,修改上面的例子

js 代码

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

js 代码

可以使用eval来转换JSON字符到Object

js 代码

或者使用parseJSON()方法

js 代码

下面使用prototype写一个JSON的ajax例子。

先写一个servlet (我的是servlet.ajax.JSONTest1.java)就写一句话

java 代码

再在页面中写一个ajax的请求

js 代码

prototype-1.5.1.js中提供了JSON的方法,String.evalJSON(),可以不使用json.js,修改上面的方法

js 代码

JSON还提供了java的jar包 API也很简单,下面举个例子

在javascript中填加请求参数

js 代码

var url = "/MyWebApp/JSONTest1";

var mailAjax = new Ajax.Request(

url,parameters: pars,onComplete: jsonResponse

}

);

}

使用JSON请求字符串就可以简单的生成JSONObject并进行解析,修改servlet添加JSON的处理(要使用json.jar)

java 代码

同样可以使用JSONObject生成JSON字符串,修改servlet

java 代码

js 代码

下面在重点给大家介绍JS中json数据的处理

1、 json数据结构(对象和数组)

json对象:var obj = {"name":"xiao","age":12};

json数组:var objArray = [{"name":"xiao","age":12},{"name":"xiao","age":12}];

2、 处理json数据,依赖文件有:jQuery.js

3、Note:数据传输过程中,json数据是以文本,即字符串格式形式存在;

JS语言操作的是JS对象;

所以json字符串与JS对象之间的转换是关键;

4、数据格式

Json字符串:var json_str = ‘{"name":"xiao","age":12}';

Josn对象:var obj = {"name":"xiao","age":12};

JS对象:Object {name: "xiao",age: 12}

5、类型转换

Json字符串——>JS对象,使用方法:

注明:

json_str、obj代表的是在本文子标题4中的数据类型;

Note:传入畸形json字符串(例如:‘{name:"xiao",age:12}'),会抛出异常;

Json字符串格式,严格格式:‘{"name":"xiao","age":12}'

JS对象——>Json字符串:

json_str = JSON. stringify(obj);

NOTE:

1、eval()是JS原生函数,使用该形式:eval(‘('+‘{name:"xiao",age:12}'+')'),并不安全,无法保证类型转换为JS对象;

2、上面3中方法,都经过chrome浏览器测试,下面是测试结果截图;

Json字符串——>JS对象;

JS对象——>Json字符串:

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

js html 处理json数据,JS中Json数据的处理和解析JSON数据的方法详解相关推荐

  1. python标准库random中函数的作用_Python随机函数库random的使用方法详解

    Python随机函数库random的使用方法详解 前言 众所周知,python拥有丰富的内置库,还支持众多的第三方库,被称为胶水语言,随机函数库random,就是python自带的标准库,他的用法极为 ...

  2. pandas数据分组聚合——groupby()、aggregate()、apply()、transform()和filter()方法详解

    数据分组 数据分组就是根据一个或多个键(可以是函数.数组或df列名)将数据分成若干组,然后对分组后的数据分别进行汇总计算,并将汇总计算后的结果进行合并,被用作汇总计算的函数称为聚合函数.数据分组的具体 ...

  3. php中fwrite函数的用法,fwrite函数介绍与使用方法详解

    以下正文:这篇文章主要介绍了PHP文件读写操作相关函数总结,本文总结了fwrite().fread().fgets().fgetc().file().readfile() 等函数的介绍及使用例子一.f ...

  4. WCF中常见的几种Host,承载WCF服务的方法详解

    1:写在前面 我们都知道WCF在运行的时候必须自己提供宿主来承载服务.WCF 本身没有附带宿主,而是提供了一个 ServiceHost 的类,该类允许您在自己的应用程序中host WCF 服务.然后调 ...

  5. python中str是什么_python的str()字符串类型的方法详解

    字符串一旦创建,不可修改,一旦修改或者拼接,都会造成重新生成字符串,因为内存存数据是一个挨着一个存的,如果增加一个字符串的话,之前的老位置只有一个地方,不够,这是原理性的东西,在其他语言里面也一样 7 ...

  6. mysql group by cube_SparkSQL 中group by、grouping sets、rollup和cube方法详解

    在平时的工作中,经常有按照不同维度筛选和统计数据的需求.拿视频会员订单数据来说吧,运营人员要查看深圳市的成功下单数或则深圳市某一种产品的成功下单数或者某一种产品的所有成功下单数时,每天的订单数又很大, ...

  7. python中sleep函数用法_sleep函数函数介绍与使用方法详解

    在一些竞猜的网站中,如果我们需要做一个定时执行的功能,比如有一道题,在十秒之内要完成,否则显示"您已超时",如果完成,则跳转到下一道题上面,而这中间有一个十秒的停顿,这样的功能是怎 ...

  8. linux中split函数用法,Linux split命令参数及使用方法详解

    split即一款分割文件的小工具,可以根据设定的大小(如行数.字节数等)将一个文件等分成更小的文件.若文件大小超出文件系统支持的单文件最大值,或由于网络传输的限制,此时将大文件切分成同等大小的小文件, ...

  9. python中累加函数_对Python实现累加函数的方法详解

    对Python实现累加函数的方法详解 发布时间:2020-10-26 00:02:44 来源:脚本之家 阅读:120 作者:岚漾忆雨 这个需求比较奇怪,要求实现Sum和MagaSum函数,实现以下功能 ...

  10. 读书郎平板中android,读书郎学生平板电脑怎么用 使用方法详解【图文】

    科技使人进步,这句话一点也没有错,我们的手机日益在更新换代,电脑也在日益更新换代,而且电脑的功能也层出不穷,人们为了方便携带由电脑发明了 平板电脑 ,使携带方便以及更缩小空间,后来,又发明了学生平板电 ...

最新文章

  1. TVM,Relay,Pass
  2. 如何评估两张图片的差异
  3. 花式方法搞定不同vlan的主机互通
  4. mysql 索引与约束_MySQL之索引与约束条件
  5. 没有足够多的数据怎么办?计算机视觉数据增强方法总结
  6. 与狼共舞·美女与野兽
  7. asp 下拉框二级联动
  8. 重载前自增运算符和后自增运算符
  9. 【Win 10应用开发】提供建议列表的输入控件(AutoSuggestBox)
  10. java messagedigest,在C#中的Java MessageDigest类
  11. Paraview—提取任意截面数据
  12. 数学中矩阵乘积转置等的相关求导
  13. JavaScript 全栈工程师培训教程(React.js + Node.js)
  14. 把文档所有的字体都缩小一号_科普!关于“天问一号”的所有知识,都在这里了...
  15. 上网代理设置会被自动清空_关于代理被自动设置问题的排查
  16. 虚拟机中的linux系统无法识别SD卡
  17. 开正式发票到底谁交税
  18. 常见PCIE X1/X4/X8/X16插槽作用与区别
  19. 运筹学作业——社会网络中的信息传播优化问题
  20. java模拟微信抢红包金额算法规则二倍均值法模拟(满满的注释)

热门文章

  1. Android之知识总结
  2. canon l11121e驱动_佳能L11121e驱动官方下载-佳能Canon L11121e打印机驱动4.8.0.16 官方版-东坡下载...
  3. c++驱动键鼠源码_DD驱动级虚拟键鼠套装
  4. 嘉峪关计算机网络优化,嘉峪关广播电视大学计算机网络技术专业_甘肃报名_网络教育计算机网络技术专业教学计划_中国教育在线...
  5. 已有项目要不要迁移到Addressable系统?
  6. unity DOTS的学习总结之Job System
  7. OpenShift 4 之 GitOps(5)用ArgoCD配置其他OpenShift资源
  8. 生产力提升! 自己动手自定义Visual Studio 2019的 类创建模板,制作简易版Vsix安装包
  9. c#:winform中多线程的使用
  10. SQL使用总结三(系统目录)