目录

  1什么是json

  2json语法

  3json的使用

  4利用jQuery实现ajax编程

1 什么是json

  JavaScript Object Notation(JavaScript 对象表示法)

  是一种轻量级的数据交换格式。  

  注:
    数据交换:将数据先转换成一种与平台无关的数据 格式(比如转换成xml),然后发送给接收方来处理。 
    轻量级:与xml相比,JSON文档更小,解析的速度更快。

2 json语法

  2.1 表示一个对象

    {属性名:属性值,属性名:属性值...}

    JSON对象在大括号中书写
    注:
      属性名必须使用双引号括起来(即:属性名必须是字符串)。
      属性值可以是string,number,true/false,null,object。
      属性值如果是string,必须使用双引号括起来。

  

  2.2 表示一个数组

    JSON 数组在中括号中书写。

    JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。

    JavaScript 中,数组值可以是以上的 JSON 数据类型,也可以是 JavaScript 的表达式,包括函数,日期,及 undefined

  

3 使用json

  3.1 将Java对象转换成json字符串

    使用json-lib(JSONObject,JSONArray)

    

 package test;

 import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Random; import entity.Stock;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class TestJson implements Serializable { private static void test01() {
Stock stock = new Stock();
stock.setCode(111);
stock.setName("重庆力帆");
stock.setPrice(10); System.out.println(stock); // 将Java对象装换成json字符串
JSONObject jsonObj = JSONObject.fromObject(stock);
String str = jsonObj.toString();
System.out.println(str);
} private static void test02() {
List<Stock> stocks = new ArrayList<Stock>();
Random r = new Random();
for(int i = 0; i < 4; i++) {
Stock stock = new Stock();
stock.setCode(111 + i);
stock.setName("重庆力帆0" + i);
stock.setPrice(r.nextInt(30)); stocks.add(stock);
} System.out.println(stocks); // 将多个Java对象组成的集合或者数组转换json字符串
JSONArray jsonArr = JSONArray.fromObject(stocks);
String arr = jsonArr.toString();
System.out.println(arr); } public static void main(String[] args) {
test01();
test02();
} }

Java对象转换成json字符串

  3.2 将json字符串转换成js对象

    javascript内置的一个对象JSON提供的方法(parse)

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
// 使用json语法表示一个对象
function f1() {
var obj = {"code":"123321","name":"fury","price":10};
alert(obj.name);
}; function f2() {
var obj = {"name":"庠序科技",
"address":{
"city":"重庆",
"street":"沙坪坝三峡广场",
"phone":12332188
}
};
alert(obj.address.street);
}; // 使用json语法表示一个由对象组成的数组
function f3() {
var arr = [
{"name":"warrior","age":24},
{"name":"fury","age":18}
];
alert(arr[1].name);
} // 将json字符串转换成javascript对象
function f4() {
var str = '{"name":"warrior", "age":24}';
// 利用javascript内置的JSON对象提供的方法来做转换
var obj = JSON.parse(str);
alert(obj.name);
} // 将json数组字符串转换成js数组
function f5() {
var str = '[{"name":"warrior","age":24},' +
'{"name":"fury","age":18}]';
// 注意:返回的是由js对象组成的数组
var arr = JSON.parse(str); alert(arr[1].name);
}
</script>
</head>
<body style="font-size:30px">
<a href="javascript:f1();">ClickMe 1</a>
<hr />
<a href="javascript:f2();">AlsoClickMe 2</a>
<hr />
<a href="javascript:f3();">To clicke me 3</a>
<hr />
<a href="javascript:f4();">Clike Me 4</a>
<hr />
<a href="javascript:f5();">Also Clike Me 5</a>
</body>
</html>

json字符串转换成js对象

4 利用jQuery实现ajax编程

  利用jQuery实现ajax编程只需要实现 $.ajax() 方法就行了

  4.1 用法

    $.ajax({});

    

  4.2 常见的选项参数有这样一些

    url: 请求地址。 
    type: 请求类型(比如 'get')。 
    data: 请求参数,有两种格式:
      第一种:请求字符串形式,比如 "size=3"。
      第二种:对象形式,比如 {"size":3} 。

      

    dataType:服务器返回的数据类型(text: 文本, json: json字符串, xml: xml文档)
    success:当服务器处理正确,用来处理服务器返回的 数据的函数。
    error:当服务器出错,用来处理异常的函数。

本博客源代码:点击前往

Ajax02 json的更多相关文章

  1. Ajax02 什么是json、json语法、json的使用、利用jQuery实现ajax

    目录 1什么是json 2json语法 3json的使用 4利用jQuery实现ajax编程 1 什么是json JavaScript Object Notation(JavaScript 对象表示法 ...

  2. 使用TSQL查询和更新 JSON 数据

    JSON是一个非常流行的,用于数据交换的文本数据(textual data)格式,主要用于Web和移动应用程序中.JSON 使用“键/值对”(Key:Value pair)存储数据,能够表示嵌套键值对 ...

  3. 【疯狂造轮子-iOS】JSON转Model系列之二

    [疯狂造轮子-iOS]JSON转Model系列之二 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇<[疯狂造轮子-iOS]JSON转Model系列之一> ...

  4. 【疯狂造轮子-iOS】JSON转Model系列之一

    [疯狂造轮子-iOS]JSON转Model系列之一 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 之前一直看别人的源码,虽然对自己提升比较大,但毕竟不是自己写的,很容易遗 ...

  5. Taurus.MVC 2.2 开源发布:WebAPI 功能增强(请求跨域及Json转换)

    背景: 1:有用户反馈了关于跨域请求的问题. 2:有用户反馈了参数获取的问题. 3:JsonHelper的增强. 在综合上面的条件下,有了2.2版本的更新,也因此写了此文. 开源地址: https:/ ...

  6. .NET Core系列 : 2 、project.json 这葫芦里卖的什么药

    .NET Core系列 : 1..NET Core 环境搭建和命令行CLI入门 介绍了.NET Core环境,本文介绍.NET Core中最重要的一个配置文件project.json的相关内容.我们可 ...

  7. 一个粗心的Bug,JSON格式不规范导致AJAX错误

    一.事件回放  今天工作时碰到了一个奇怪的问题,这个问题很早很早以前也碰到过,不过没想到过这么久了竟然又栽在这里. 当时正在联调一个项目,由于后端没有提供数据接口,于是我直接本地建立了一个 json ...

  8. JSON.parse()和JSON.stringify()

    1.parse 用于从一个字符串中解析出json 对象.例如 var str='{"name":"cpf","age":"23&q ...

  9. json与JavaScript对象互换

    1,json字符串转化为JavaScript对象: 方法:JSON.parse(string) eg:var account = '{"name":"jaytan&quo ...

随机推荐

  1. Centos 在 Xshell里 vim的配置

    Centos里的VI只默认安装了vim-minimal-7.x.所以无论是输入vi或者vim查看文件,syntax功能都无法正常启用.因此需要用yum安装另外两个组件:vim-common-7.x和v ...

  2. c#FTP操作类,包含上传,下载,删除,获取FTP文件列表文件夹等Hhelp类

    有些时间没发表文章了,之前用到过,这是我总结出来关于ftp相关操作一些方法,网上也有很多,但是没有那么全面,我的这些仅供参考和借鉴,希望能够帮助到大家,代码和相关引用我都复制粘贴出来了,希望大家喜欢 ...

  3. .dll 文件编写和使用

    1.基本概念 dll(dynamic-link library),动态链接库,是微软实现共享函数库的一种方式.动态链接,就是把一些常用的函数代码制作成dll文件,当某个程序调用到dll中的某个函数的时 ...

  4. ios 视频拼接/合成

    上面的图说明的是这个混合的过程,下面放代码: - (void)mergeAndExportVideos:(NSArray*)videosPathArray withOutPath:(NSString* ...

  5. Linux下deb包安装工具(附带安装搜狗输入法)

    环境是在ubuntu14下的 #1.gdebi安装 使用deb安装工具gdebi,这个工具能解决所有依赖问题 sudo apt-get install gdebi #2.搜狗输入法 deb包下载地址: ...

  6. AFNetworking 用法详解

    之前一直使用ASIHttpRequest 做网络请求 ,后来新公司用AFNetWorking ,经过一段时间学习总结一下二者的优缺点: 1.AFNetWorking的优缺点 优点: 1.维护和使用者比 ...

  7. 凭证(Credential)

    在SQL Server中,凭证(Credential)用于把Windows用户的身份验证信息(在Windows环境下,是Windows 用户名和密码)存储在SQL Server实例中,并把该身份验证信 ...

  8. stm32中断学习总结

    经过了两天,终于差不多能看懂32的中断了,由于是用的库函数操作的,所以有些内部知识并没有求甚解,只是理解知道是这样的.但对于要做简单开发的我来说这些已经够了. 我学习喜欢从一个例程来看,下面的程序是我 ...

  9. 频繁模式挖掘中Apriori、FP-Growth和Eclat算法的实现和对比

    最近上数据挖掘的课程,其中学习到了频繁模式挖掘这一章,这章介绍了三种算法,Apriori.FP-Growth和Eclat算法:由于对于不同的数据来说,这三种算法的表现不同,所以我们本次就对这三种算法在 ...

  10. Composer 中国全量镜像(二)

    一.查看当前镜像地址 在命令行输入如下命令,即可查看镜像地址: $ composer config -g repo.packagist {"type":"composer ...