JavaWeb之JSON
一、什么是JSON?
JSON: JavaScript Object Notation(JavaScript 对象表示法)
JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。
二、JSON语法规则
数据在名称/值对中("name" : "菜鸟教程" 和 name = "菜鸟教程" 一样)
数据由逗号分隔
大括号保存对象
中括号保存数组
JSON对象(在大括号({})中书写)
var p ={name:"tom",age:50};
document.write(p.name);
JSON数组(在中括号中书写)
var pp =[{name:"tom",age:50},{name:"milk",age:22}];
document.write(pp[1].name);
三、JSON中的方法
3.1、JSON.parse()方法
JSON 通常用于与服务端交换数据。在接收服务器数据时一般是字符串。我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。
如:我们在服务器端有{name:"tom",age:17}
使用 JSON.parse() 方法处理以上数据,将其转换为 JavaScript 对象
var peo = JSON.parse('{name:"tom",age:17}');
注意:解析前要确保你的数据是标准的 JSON 格式,否则会解析出错。
在如:使用 AJAX 从服务器请求 JSON 数据,并解析为 JavaScript 对象
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == && this.status == ) {
myObj = JSON.parse(this.responseText); //如果JSON数据是数据解析成对象,如果是数组,也解析成数组。
document.getElementById("demo").innerHTML = myObj.name;
}
};
xmlhttp.open("GET", "/try/ajax/json_demo.txt", true);
xmlhttp.send();
3.2、JSON.stringify()
JSON 通常用于与服务端交换数据。在向服务器发送数据时一般是字符串。我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。
如:我们需要将 var obj ={name:"tom",age:18};发送给服务器
JSON.stringify() 方法处理以上数据,将其转换为字符串:
JSON.stringify(obj);
再如:将javascript数组转换成JSON字符串
var arr = [ "Google", "Runoob", "Taobao", "Facebook" ];
var myJSON = JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;
四、使用JSON框架
使用框架必然要导入的是jar包,最后可以为大家提供jar包,接下来我们看它的用法。
package testJSON; import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig; import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.junit.Test; import com.jxlg.domain.Book;
import com.jxlg.util.C3P0Util; public class testJSON { @Test
//使用JSONObject对象封装对象数据类型
public void test() {
Book b = new Book();
b.setName("账单");
b.setId("100");
b.setPrice(55); String s = JSONObject.fromObject(b).toString();
System.out.println(s);
}
@Test //使用JSON对象封装List<Book>
public void test1(){
List<Book> books = new ArrayList<Book>();
Book b1 =new Book();
Book b2 =new Book();
Book b3 =new Book();
b1.setName("账单");
b1.setId("1001");
b1.setPrice(55);
b2.setName("花花");
b2.setId("1002");
b2.setPrice(23);
b3.setName("阿德");
b3.setId("1003");
b3.setPrice(11);
books.add(b1);
books.add(b2);
books.add(b3);
String m = JSONArray.fromObject(books).toString();
System.out.println(m);
}
@Test
//使用JsonConfig去除不需要的字段
public void test3() throws SQLException{
QueryRunner qr =new QueryRunner(C3P0Util.getDateSource());
List<Book> books = qr.query("select * from book", new BeanListHandler<Book>(Book.class));
JsonConfig jc = new JsonConfig();
jc.setExcludes(new String[]{"id","category","description"});
String m = JSONArray.fromObject(books,jc).toString();
System.out.println(m);
}
}
结果:


把这些数据都封装成了JSON类型的数据,可以在前端更好的获取显示
提供使用JSON中需要的jar包,不谢:
链接:http://pan.baidu.com/s/1pKBwSOV 密码:iru5
20:08:44
JavaWeb之JSON的更多相关文章
- 项目ITP(四) javaweb http json 交互 in action (服务端 spring 手机端 提供各种工具类)勿喷!
前言 系列文章:[传送门] 洗了个澡,准备写篇博客.然后看书了.时间 3 7 分.我慢慢规律生活,向目标靠近. 很喜欢珍惜时间像叮当猫一样 正文 慢慢地,二维码实现签到将要落幕了.下篇文章出二维码实 ...
- JavaWeb 返回json数据的两种方式
1.说明 由于一般情况下,由浏览器(前端)发送请求,服务器(后台)响应json数据,所以这里结合js进行说明: A服务器发送请求至B服务器,并接收其返回的json数据,见文末推荐,这里不再赘述! 2. ...
- JavaWeb基础——JSON
一.JSON是什么? JSON(JavaScript Object Notation).轻量级数据交换格式. JSON的后缀名:.json JSON的MINE类型:application/json 二 ...
- IT兄弟连 JavaWeb教程 JSON和JSON字符串
JSON (JavaScript Object Notation)是JavaScript语言中的一种对象类型.JSON的好处是易于阅读和解析.当客户端和服务器端需要交互大量数据时,使用JSON格式传输 ...
- 【JavaWeb】JSON基础
JSON JavaScript Object Notation(JavaScript 对象表示法): JSON是轻量级的文本数据交换格式: JSON独立于语言,具有自我描述性,更易理解: JSON语法 ...
- JavaWeb 之 JSON
一.概述 1.概念 JSON:JavaScript Object Notation JavaScript对象表示法 2.基本格式 var p = {"name":"张三 ...
- JavaWeb返回Json格式数据JQuery Ajax无法解析的问题
今天在写实验室的傻逼Java Web小项目的时候,有一个需要发布内容的地方,因为想做的让用户感觉优雅一点 所以就是用了Ajax来做,本来很简单的一个小玩意,竟然花了半个多小时的时间,主要是将时间花在了 ...
- 【JavaWeb】JSON 文件
JSON 文件 什么是 JSON JSON(JavaScript Object Notation),即 JS 对象符号. 是一种轻量级(相对于 XML 来说)的数据交换格式,易于阅读和编写,同时也易于 ...
- JavaWeb 补充(Json)
HTML DOM alert() 方法 定义和用法 alert() 方法用于显示带有一条指定消息和一个 OK 按钮的警告框. 参数 描述 message 要在 window 上弹出的对话框中显示的纯文 ...
随机推荐
- 学习篇之String()
// 3个特殊的引用类型:Boolean,Number,String var s1 = "some text"; ,); // me t ,); // me ,-); // so ...
- SVN-TortoiseSVN安装和常用操作步骤
安装VisualSVN-Server-2.0.5 服务端: 运行VisualSVN-Server-2.0.5.msi程序,点击Next,下面的截图顺序即为安装步骤: 2 图2: 注意:Server P ...
- std::vector 源代码
vector身为一个动态数组,每次以空间不够的时候会以2倍的倍数增加,而且每次扩充的时候分为3部,分配内存,拷贝数据,释放内存 vector内部有两个成员变量,begin,finish ,endcat ...
- 使用R语言将微信记录制作成词云(简洁)--情人节奥义
一.导出并读入微信聊天记录 参照百度的方法,使用同步助手.安装同步助手--连接手机(安卓苹果均可)--点击"其他功能"--点击微信图标即可进入聊天记录导出界面(非常简单). ...
- Linux输入子系统(一) _驱动编码
输入设备都有共性:中断驱动+字符IO,基于分层的思想,Linux内核将这些设备的公有的部分提取出来,基于cdev提供接口,设计了输入子系统,所有使用输入子系统构建的设备都使用主设备号13,同时输入子系 ...
- 使用光盘iso实现Linux操作系统的自动安装部署
前边写了一篇使用 PXE 的方式批量安装操作系统,不是任何时候任何地方都有环境来通过 PXE 方式来进行安装.如果此时需要通过光盘安装,默认的情况下是通过交互式方式进行安装,其实也可以通过 kicks ...
- layer弹出层中H5播放器全屏出错解决 & 属性poster底图占满<video>的方法
1. 在layer弹窗组件中 如果使用了flash播放器,全屏是正常的 但若使用了HTML5的播放器,全屏失效 举个栗子 <!DOCTYPE html> <html> < ...
- GET和POST的区别,何时使用POST?
GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符 POST:一般用于修改服务器上的资源,对所发送的信息没有限制. GET方式需要使用Re ...
- STL中sort排序算法第三个参数_Compare的实现本质
关于C++ STL vector 中的sort排序算法有三种自定义实现,它们本质上都是返回bool类型,提供给sort函数作为第三个参数. 重载运算符 全局的比较函数 函数对象 我认为从实现方式看,重 ...
- BDD框架:behave学习记录
本人学习的时候基本上是按照behave的tutorial教程一步步学习的,这篇文章就当Behave教程的翻译版吧(*^__^*) 嘻嘻--. 1 安装behave 安装好python后 ...