一、什么是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的更多相关文章

  1. 项目ITP(四) javaweb http json 交互 in action (服务端 spring 手机端 提供各种工具类)勿喷!

    前言 系列文章:[传送门] 洗了个澡,准备写篇博客.然后看书了.时间 3 7 分.我慢慢规律生活,向目标靠近.  很喜欢珍惜时间像叮当猫一样 正文 慢慢地,二维码实现签到将要落幕了.下篇文章出二维码实 ...

  2. JavaWeb 返回json数据的两种方式

    1.说明 由于一般情况下,由浏览器(前端)发送请求,服务器(后台)响应json数据,所以这里结合js进行说明: A服务器发送请求至B服务器,并接收其返回的json数据,见文末推荐,这里不再赘述! 2. ...

  3. JavaWeb基础——JSON

    一.JSON是什么? JSON(JavaScript Object Notation).轻量级数据交换格式. JSON的后缀名:.json JSON的MINE类型:application/json 二 ...

  4. IT兄弟连 JavaWeb教程 JSON和JSON字符串

    JSON (JavaScript Object Notation)是JavaScript语言中的一种对象类型.JSON的好处是易于阅读和解析.当客户端和服务器端需要交互大量数据时,使用JSON格式传输 ...

  5. 【JavaWeb】JSON基础

    JSON JavaScript Object Notation(JavaScript 对象表示法): JSON是轻量级的文本数据交换格式: JSON独立于语言,具有自我描述性,更易理解: JSON语法 ...

  6. JavaWeb 之 JSON

    一.概述 1.概念 JSON:JavaScript Object Notation  JavaScript对象表示法 2.基本格式 var p = {"name":"张三 ...

  7. JavaWeb返回Json格式数据JQuery Ajax无法解析的问题

    今天在写实验室的傻逼Java Web小项目的时候,有一个需要发布内容的地方,因为想做的让用户感觉优雅一点 所以就是用了Ajax来做,本来很简单的一个小玩意,竟然花了半个多小时的时间,主要是将时间花在了 ...

  8. 【JavaWeb】JSON 文件

    JSON 文件 什么是 JSON JSON(JavaScript Object Notation),即 JS 对象符号. 是一种轻量级(相对于 XML 来说)的数据交换格式,易于阅读和编写,同时也易于 ...

  9. JavaWeb 补充(Json)

    HTML DOM alert() 方法 定义和用法 alert() 方法用于显示带有一条指定消息和一个 OK 按钮的警告框. 参数 描述 message 要在 window 上弹出的对话框中显示的纯文 ...

随机推荐

  1. 【js 编程艺术】小制作一

    最近在看js编程艺术,照葫芦画瓢,做了一个小网页.作为一枚前端渣渣,遇到了好多坑,在这里就不提了. 首先是html代码 /*gallery.html*/<!DOCTYPE html> &l ...

  2. [html5] 学习笔记-响应式布局

    1.响应式布局介绍 响应式布局是2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端——而不是每一个终端做一个特定的版本.这个概念是为了兼容移动互联网浏览而诞生的,其目的是为用户提供 ...

  3. Brainfuck与Ook!编程语言解析与解密

    MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...

  4. C++编程练习(4)----“实现简单的栈的链式存储结构“

    如果栈的使用过程中元素数目变化不可预测,有时很小,有时很大,则最好使用链栈:反之,如果它的变化在可控范围内,使用顺序栈会好一些. 简单的栈的链式存储结构代码如下: /*LinkStack.h*/ #i ...

  5. php curl详细解析和常见大坑

    1. 拿来先试试手 比如我们以著名的"测试网络是否连接"的网站--百度为例,来尝试下curl <?php // create curl resource $ch = curl ...

  6. Storyboard 自定义转场动画

    在storyboard中,segue有几种不同的类型,在iphone和ipad的开发中,segue的类型是不同的.在iphone中,segue 有:push,modal,和custom三种不同的类型, ...

  7. UI进阶 即时通讯之XMPP登录、注册

    1.XMPP环境搭建 http://www.cnblogs.com/fearlessyyp/p/5506644.html 第一次打开可能会有点儿慢,图片很多,步骤很详细,祝搭建成功. 2.工程中添加X ...

  8. 腾讯优图及知脸(ZKface)人脸比对接口测试(python)

    一.腾讯优图 1.开发者地址:http://open.youtu.qq.com/welcome/developer 2.接入流程:按照开发者页面的接入流程接入之后,创建应用即可获得所需的AppID.S ...

  9. (转)java二维数组的深度学习(静态与动态)

    转自:http://developer.51cto.com/art/200906/128274.htm,谢谢 初始化: 1.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行:2.静态初始化:在 ...

  10. 改变placeholder字体的颜色

    /* Mozilla Firefox 19+ */ ::-moz-placeholder { color: #f00; } /* IE9+版本 */ input:-ms-input-placehold ...