一、什么是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. SQL Server如何固定执行计划

    SQL Server 其实从SQL Server 2005开始,也提供了类似ORACLE中固定执行计划的功能,只是好像很少人使用这个功能.当然在SQL Server中不叫"固定执行计划&qu ...

  2. 性能监控之Java程序执行解析

    大家好,最近接触javassist技术,研究过程中对Java程序执行过程进行了一系列探索,弄清楚了几个盲区(仅针对个人而言),现将经验与大家分享. 1.编码->.java 通常指写代码的过程,最 ...

  3. js精要之继承

    // 继承object.prototype的方法 // hasOwnProperty() //检查是否存在一个给定名字的自有属性 // propertyIsEnumerable() // 检查一个自有 ...

  4. 获取Pid

    Java程序中获取当前进程的进程ID 标签: javainterfacesystemcompilationjvmjni 2011-12-29 16:31 15182人阅读 评论(2) 收藏 举报  分 ...

  5. 一个想法(续五):IT联盟创业计划:现阶段进度公示、疑问解答及进行中的计划

    前言: 首先今天是元宵节,先祝大伙元宵节快,单纯的快乐! 然后看看开展中的计划: IT联盟创业计划众筹发起:一个想法(续三):一份IT技术联盟创业计划书,开启众筹创业征程 IT联盟创业计划众筹进度:一 ...

  6. C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)

    译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)),不对的地方欢迎指出与交流. 章节出自<Professional C ...

  7. (@WhiteTaken)设计模式学习——建造者模式

    Builder模式,也就是建造者模式或者生成器模式,是GoF提出的23种设计模式的一种. 这种模式是用来隐式的创建复合对象而提出来的. 创建复合对象的过程,不在主客户端显示. 下面直接上代码.以修建房 ...

  8. 解析jQuery中extend方法--源码解析以及递归的过程《二》

    源码解析 在解析代码之前,首先要了解extend函数要解决什么问题,以及传入不同的参数,会达到怎样的效果.extend函数内部处理传入的不同参数,返回处理后的对象. extend函数用来扩展对象,增加 ...

  9. 封装OkHttp,通过Callback改造Callback实现

    1:实现Callback回调接口import android.os.Handler;import android.os.Looper;import android.os.Message;import ...

  10. php与微信基础的学习

    我们要搞的是用php来与微信进行信息交互,现在是一个学习过程...结合慕课网渔夫老师的讲解. 微信公众号的申请具体可百度,太简单不予说明,微信本身功能也挺多,也有相关第三方平台,然而我们学习编程--具 ...