JSON学习总结
最近几天使用json的需求比较急迫,所以学习了一下json。此文仅当笔记,以防忘却。
此文主要分为js和java总结:
先介绍json格式:
JSON 数据的书写格式是:名称/值对。
***:可以更容易的理解json的嵌套格式。
JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中) ***
- 对象(在花括号中) ***
- null
1. JS
JSON的全称为:JavaScript 对象表示法(JavaScript Object Notation)。
可见json开始是为js服务的,但在之后的发展中,逐渐成为了独立于各种语言的数据传输格式。
JS的使用主要分为:
1> 构造JSON数据单元
a.json属于js对象表示法,其初始化完全可以和对象一致,也就是说,当js对象完成初始化时,此对象就是一个json格式的数据单元。
b.eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
var obj = eval ("(" + txt + ")");
c. JSON.parse(); 可以使字符串转化为JSON格式数据,亦可以理解为构造为一个js对象。
2>JSON对象解析为字符串
a. JSON.stringify(); 可以将json数据单元转化为字符串格式。
b. 对象数组转为的String转为JSON:
//ObjArrayString: {"accountName":"分类03","accountCode":"3236547896562323","accountId":"1720","defaultId":1},{"accountName":"kaihuhang02","accountCode":"3236896589875426","accountId":"1721","defaultId":0}
ObjectArray = JSON.parse("["+ObjArrayString+"]");
*JSON.parse()与JSON.stringify()方法都是浏览器自带的方法,但是ie8-不支持,需要引用 json.js 兼容。
2. JAVA
java中的json使用主要使用json-lib.jar包,其中封装一些可用的json方法。
主要使用的类有:JSONArray、JSONObject
JSONArray实现了List接口;
JOSNObject实现了Map接口;
* 故可以利用上转型直接赋值给list 或 map;
两者皆可以使用T.fromObject(String)实现字符串转化为相应的类;
JSONObject类可以在JSONArray.getJSONObject()获取;
JSONObject可以使用各种get方法获取其中的元素值。
JSON学习总结的更多相关文章
- [Network] HTML、XML和JSON学习汇总
写在前面:楼主也是刚刚接触这方面的知识,之前完全是零基础,后来经朋友推荐了几个不错的博文,看完以后豁然开朗.但是此博文更加偏重于基础知识介绍(其实更深的楼主也还不了解,这方面的大神请绕道),只是分享个 ...
- JSON 学习笔记
学习使用json过程随笔: json数组格式 var employees = [ { "firstName":"Bill" , "lastName&q ...
- C# JSON学习之序列化与反序列化
在我的个人计划中,学习制作c#下的曲线平台属于下半年的重点.关于前后端的数据传递-json数据的学习很有必要,通过一个例子来加深自己的理解. 新建一个console控制台程序,通过导入NewstonS ...
- 前端——JSON学习总结
学习网址: https://www.bilibili.com/video/BV1Pt411u7R3 什么是JSON?(以下有关概念内容为视频中学习文档相关内容,代码为本人学习时使用的有关代码) JSO ...
- JSON学习笔记一 —— 一些与移动端交互产生JSON数据的方法
/** * 测试的返回JSon方法,正式的不会用 * @author MrHandler * @param reqCode * @param joinStr * ...
- JSON学习
1.JSON 语法是 JavaScript 对象表示语法的子集. l 数据在名称/值对中 l 数据由逗号分隔 l 花括号保存对象 l 方括号保存数组 JSON 值可以是: l 数字(整数或浮 ...
- Json学习笔记
一.昨天内容回顾 创建ajax对象 a) 主流浏览器 new XMLHttpRequest(); b) IE浏览器 new ActiveXObject("Msxml2.XMLHTTP. ...
- Json 学习
json 格式: 1) 并列的数据之间用逗号(", ")分隔. 2) 映射用冒号(": ")表示. 3) 并列数据的集合(数组)用方括号("[]&qu ...
- JSON学习之二
1.JSON语法是JavaScript对象表示法的子集,语法规则: **数据在名称/值对中 **数据由逗号分隔 **花括号保存对象 **方括号保存数组 2.JSON名称/值对:JSON数据的书写格式是 ...
随机推荐
- Function对象属性和方法
/* var pattern = /^[\w]+\.(zip|rar|gz)$/; //|选择符必须用分组符号包含起来 var str = '123.7z'; alert(pattern.test(s ...
- python 补充-decode和encode
1. decode与encode转码 在Python3中默认编码就是uncode,encode转成Byte类型 在Python2中默认编码就是ascii window下默认编码是GBK decode( ...
- 使用 Filter 完成一个简单的权限模型
****对访问进行权限控制: 有权限则可以访问, 否则提示: 没有对应的权限, 请 返回其访问者的权限可以在manager那进行设置:
- Maximum Value(哈希)
B. Maximum Value time limit per test 1 second memory limit per test 256 megabytes input standard inp ...
- In Action(SPFA+01背包)
In Action Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- uva 437,巴比伦塔
题目链接:https://uva.onlinejudge.org/external/4/437.pdf 题意:巴比伦塔: 给出n种立方体,一个立方体能放到另一个立方体上,必须满足,底面一定要小于下面的 ...
- Nginx架构的企业级应用
Nginx架构的企业级应用 ==================================================== 实现HA高可用集群 实现LB负载均衡集群 Nginx实现反向代理 ...
- int转多进制
char buf[4]; int len=100; _itoa(len,buf_len,16);//16代表十六进制,可用其他进制
- VC++ 使用WebBrowser控件中html文件以资源形式加载
. . . . //加载资源文件中的HTML,IDR_HTML1就是HTML文件在资源文件中的ID wchar_t self_path[MAX_PATH] = { }; GetModuleFileNa ...
- VC++ 线程同步 总结
注:所谓同步,并不是多个线程一起同时执行,而是他们协同步调,按预定的先后次序执行. 与线程相关的基本函数包括:CreateThread:创建线程CloseHandle:关闭线程句柄.注意,这只会使指定 ...