一.JSON 概述:
JavaScript Object Natation,是一种轻量级的数据交换技术规范。
二.使用流程:
在服务端将java对象转换为JSON,然后发送到浏览器,在浏览器上在讲JSON对象转换
为js对象。
三.JSON语法
.表示一个对象:
{属性名1:属性值1,属性名2:属性值2,属性名3:属性值3}
JavaScript中创建对象的三种方式:
.使用json语法来创建
var obj = {"name":an,"age":};
.使用Object来创建
var obj = new Object();
obj.name="zs"; obj.age=;
.使用javaScript函数来创建(对象模板);
function Person(name,age){
this.name = name;
this.age = age;
}
var person1 = new Person("zs",)
.表示一个对象组成的数组:
var arr = [{"name","chang","age",},{"name":"bo","age":}];
四.JSON的使用:
.java对象转换为JSON格式的字符串(就是普通字符串使用了JSON的语法规则),
使用了JSONObject.fromObject();
public static void test1(){
//普通java对象
Stock s = new Stock();
s.setName("an");
s.setCode("");
s.setPrice(12.8);
//转换为JSON对象
JSONObject obj = JSONObject(s);
//转换为字符串
String jsonStr = obj.toString();
System.out.println(jsonStr);
}
.java对象组成的集合转换为一个JSON字符串,
使用了JSONArray.fromObject();
public static void test2(){
//生成一个java对象的集合
List<Stock> stock = new ArrayList<Stock>();
Random r = new Random();
DecimalFormat df = new DecimalFormat("#.##"); //小数格式
for(int i=;i<;i++){
Stock s = new Stock();
s.setName("zhang"+r.nextInt());
s.setCode(""+r.nextInt());
Double price = r.nextInt()+r.nextDouble();
s.setPrice(Double.parseDouble(df.format));
stock.add(s);
}
//将这个对象的集合转换成一个json的字符串
JSONArray array =JSONArray.fromObject(stock);
String jsonStr = array.toString();
System.out.println(jsonStr);
};
.java对象组成的数组装换为一个JSON字符串
public static void test3(){
//生成一个java对象的数组
Stock[] stock = new Stock[];
Random r = new Random();
DecimalFormat df = new DecimalFormat("#.##");
for(int i=;i<;i++){
Stock s = new Stock();
s.setName("cheng"+r.nextInt());
s.setCode(""+r.nextInt());
Double d = r.nextInt()+r.nextDouble();
s.setPrice(Double.parseDouble(df.format(d)));
stock[i] = s;
}
//讲这个java对象的数组转换为一个JSON字符串
JSONArray array = JSONArray.fromObject(stock);
String jsonstr = array.toString();
System.out.println(jsonstr);
}
.JSON字符串转换为javaScript对象
JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。
eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成
JavaScript 对象。
必须把文本包围在括号中,这样才能避免语法错误:
var obj = eval ("(" + jsontxt + ")"); JQuery框架中ajax解析json字符串的示例。
$.ajax({
type: 'POST',
url: '../../caseHandler.ashx?action=GetCase&id=' + id.toString(), //url action是方法的名称
data: "",
dataType: "text", //可以是text,如果用text,返回的结果为字符串;如果需要json格式的,可以设置为json
ContentType: "application/json; charset=utf-8",
success: function (returnedData) {
getMarkerFeature(eval("(" + returnedData+ ")"));
},
error: function (msg) {
alert("访问失败:"+ msg);
}
});
五.同步请求:
在ajax发送请求的时候设置。
xhr.open(请求方式,请求地址,false);
使用同步是客户端需要等待服务端的响应之后才能处理下一步操作;当服务器处理的
比较慢的时候,浏览器会锁定当前页面,造成“假死”现象。

json语法和使用的更多相关文章

  1. JSON语法五大要素图文介绍

    原文:http://www.jb51.net/article/32398.htm JSON语法是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成,下面就进行学习研究,希望本文能教会 ...

  2. 《JAVASCRIPT高级程序设计》JSON语法/解析/序列化

    JSON是一种数据格式,不是一种编程语言. 一.语法 JSON语法可以表示以下三种类型的值:简单值.对象.数组. 1.简单值 最简单的JSON数据值就是简单值: 5 "hello world ...

  3. JSON语法

    JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...

  4. JSON语法与JavaScript语法的区别

    JSON是独立于语言存在的,在不同的编程语言中对这种数据类型的实现不同,例如在JavaScript中使用JavaScript对象对这种数据格式进行实现,那么在java中当然是用java对象实现. 描述 ...

  5. JSON语法、对象、遍历数组的区别和基本操作

    JSON 语法规则 JSON 语法是 javascript 对象表示语法的子集. 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 名称/值对 JSON 数据的书写格式是: ...

  6. JSON语法规则

    JSON 语法规则 JSON 语法是 JavaScript 对象表示法语法的子集. 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 名称/值对 JSON 数据的书写格式是 ...

  7. JSON 语法

    ylbtech-JSON: JSON 语法 JSON 语法是 JavaScript 语法的子集. 1. JSON 语法规则返回顶部 JSON 语法是 JavaScript 对象表示语法的子集. 1. ...

  8. JSON语法2

    把 JSON 文本转换为 JavaScript 对象 JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 Jav ...

  9. 使用JSON语法创建JS对象(重要)

    JS对象的键值可以加单引号或者不加或者加双引号 JSON语法提供了一种更简单的方式来创建对象,可以避免书写函数,也可避免用new关键字,可以直接创建一个JS对象,使用一个花括号,然后将每个属性写成&q ...

  10. JSON语法及JSON定义规范化

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://www.cnblogs.com/zhuhui-site/p/10090541.html 一.前言   JSON(JavaScrip ...

随机推荐

  1. IDEA02 利用Maven创建Web项目、为Web应用添加Spring框架支持、bean的创建于获取、利用注解配置Bean、自动装配Bean、MVC配置

    1 环境版本说明 Jdk : 1.8 Maven : 3.5 IDEA : 专业版 2017.2 2 环境准备 2.1 Maven安装及其配置 2.2 Tomcat安装及其配置 3 详细步骤 3.1 ...

  2. Python 安装urllib3

    一.系统环境 操作系统:Win10 64位 Python版本:Python 3.7.0 二.报错信息 No module named 'urllib3' 三.安装参考 1.参照网上的安装方法通过pip ...

  3. ESP8266文档阅读ESP8266 SDK 入门指南

    ESP8266 SDK  入门指南 1.概述 1.2.ESP8266 HDK 1.3.ESP8266 SDK 1.4.ESP8266 FW 1.5.ESP8266 工具集 2.1.开发板方案 3.软件 ...

  4. Map集合的关联数组实现

    public class AssoiativeArray<K,V>{ //创建一个二维数组 private Object[][] pairs; //声明索引 private int ind ...

  5. Codeforces 427E Police Patrol

    找中间的数,然后从两头取. #include<stdio.h> ; int pos[MAX]; int main() { int n,m,tmp; int i; int pol; long ...

  6. Linux 上安装Gearman及其PHP扩展

    安装Gearman服务端 # yum install -y uuid-devel libuuid libuuid-devel uuid boost-devel libevent libevent-de ...

  7. [GO]数组指针做函数参数

    package main import "fmt" //p指向实现数组a,它是指向数组,它是数组指针//*p指向指针指向的内存,就是实参a func modify1(p *[]in ...

  8. 编写高质量代码改善C#程序的157个建议——建议58:用抛出异常代替返回错误代码

    建议58:用抛出异常代替返回错误代码 CLR异常机制的优点: 正常控制流会被立即中止,无效值或状态不会在系统中继续传播. 提供了统一的处理错误的方法. 提供了在构造函数.操作符重载及属性中报告异常的遍 ...

  9. jQuery插件扩展extend的实现原理

    相信每位前端的小伙伴对jQuery都不陌生吧,它最大的魅力之一就是有大量的插件,去帮助我们更轻松的实现各种功能. 前几天晚上,闲来无事,就自己动手写了个简单的jQuery插件,功能很简单,只是让选定的 ...

  10. 【SQL】- 基础知识梳理(一) - 数据库

    一.引言 知识分享这个事情在公司会议上被提出过几次,可一直因各种事情耽搁下来,“我不如地狱,谁入地狱”,怀着这样一种心态,写下了 数据库系列知识分享. 本文将一步步通过循序渐进的方式带你去了解数据库. ...