一、什么是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. 自制基于HMM的中文分词器

    不像英文那样单词之间有空格作为天然的分界线, 中文词语之间没有明显界限.必须采用一些方法将中文语句划分为单词序列才能进一步处理, 这一划分步骤即是所谓的中文分词. 主流中文分词方法包括基于规则的分词, ...

  2. .Net学习难点讨论系列17 - 线程本地变量的使用

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  3. Lottie简介(翻译)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/6364634.html Lottie简介(翻译) 新的向本地ap ...

  4. MaltReport2:基于 OpenDocument/OpenOfficeXML 的报表引擎

    MaltReport 是我几年前写的开源单据.报表引擎,最近进行了较大的更新,尤其是几年来在生产项目中应用取得了非常好的效果,特别写篇介绍文字给大家分享一下. 首先先介绍几个名词: OpenDocum ...

  5. 苹果手机上开发微信公众号(wap)遇到的问题解决方法

    1.样式 苹果 手机会自行强制css样式,比如input会变得面目全非,你可以加上input{-webkit-appearance: none;}恢复原貌! 2.jquery的live错误,苹果手机上 ...

  6. Python学习--17 进程和线程

    线程是最小的执行单元,而进程由至少一个线程组成.如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间. 进程 fork调用 通过fork()系统调用,就可以生成一个子进程 ...

  7. 矢量切片(Vector tile)番外一:Proj4js

    说明:番外篇是对正篇矢量切片(Vector tile)中提到的一些值得继续延伸的关注点继续进行探索和学习,所涉及的内容以解决实际问题为主要导向. 一.新的需求? 在完成了矢量切片的工作后,新的需求出现 ...

  8. 【前端】:Dom

    前言: 昨天写了篇关于JavaScript的,今天写篇Dom的(插入4个实例),写完之后感觉知识点还不少~ 内容当然会用到[前端]:JavaScript的知识.下篇博客会写关于jQuery~~ 一.D ...

  9. node文件中的package.json文件解析

    { "name":"myejsapp", "version":"0.0.0", "private": ...

  10. CentOS下WDCP下的MYSQL开启远程连接

    1.首先要在防火墙开启3306端口访问 2.然后做如下操作 如何开启MySQL的远程帐号-1)首先以 root 帐户登陆 MySQL 在 Windows 主机中点击开始菜单,运行,输入"cm ...