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 上弹出的对话框中显示的纯文 ...
随机推荐
- MyBatis:学习笔记(3)——关联查询
MyBatis:学习笔记(3)--关联查询 关联查询 理解联结 SQL最强大的功能之一在于我们可以在数据查询的执行中可以使用联结,来将多个表中的数据作为整体进行筛选. 模拟一个简单的在线商品购物系统, ...
- C-Swipe Mobile 一个适用于Vue2.x的移动端轮播组件
近期在做的一个Vue2项目里需要一个可以滑动的轮播组件,但是又因为现有的传统轮播库功能过于繁琐和笨重.因此自己写了一个针对于Vue2.x的轻型轮播组件. 项目GitHub链接:C-Swipe Mobi ...
- InfluxDB读写性能测试
今天进行了InfluxDB和MySQL的对比测试,这里记录下结果,也方便我以后查阅. 操作系统: CentOS6.5_x64InfluxDB版本 : v1.1.0MySQL版本:v5.1.73CPU ...
- 依赖lean cloud的注册与登录
前言 实现登录注册的基本功能,没有添加手机验证和邮箱验证的功能,有相应的方法,如果需要,可以自己加上其相应的方法 github的网址: 效果图: 正文 1.导入leancloud相应的第三方,这个等我 ...
- 设置/修改wampserverd默认项目地址
打开WampServer安装目录下bin\apache\Apache2.4.4\conf\文件夹打开httpd.conf 首先我们安装完wampserver后一般默认的项目存放地址如下: " ...
- HTTP协议详解【转】
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了We ...
- IOS缓存管理之PINCache使用
前言: 今年重点在于公司iOS架构的梳理工作,上周整理了http请求接口管理与解耦,接下来准备整理一下项目中的缓存处理,目前项目中使用的是PINCache,去年加入这个开源框架时并没有对这个框架进行了 ...
- PPT中翻书动画的制作
一.新建一个空白的PowerPoint文档. 二.制作两个页面: 1.点击“自选图形”右边的小三角,选择“基本图形”下的“折角形”图形,在PowerPoint中画出一个书页样的图形,宽度最好小 ...
- warshall、
#include<iostream> int mian() { ][],b[][],c[][]; int i,j,k; cout<<"input the Boolea ...
- MASM32快速起步
MASM32是一个免费的软件程序,让您编辑Microsoft宏汇编程序(MASM)代码从一个基本的文本界面.它强调MASM代码各部分以不同的颜色,使其更容易扫描和检测错误.它提供了一个简单的布局程序员 ...