1) json是什么?
javascript object notation。是一种数据交换的标准,一般用于浏览器与服务器乊间的数据转 换。比如,将一个java对象转换成浏览器端可以识别的javascript对象。
2) json的基本语法
a. 如何表示一个对象
{"name" : "zs" , "age" : 22}
{"name" : "ls" ,
"addr" : {"city" : "bj" , "street" : "ca"} }
属性名要添加引号。
属性值如果是字符串,要添加引号。
数据类型:string,number,boolean,null,object
b. 如何表示一个对象数组
[{},{},{}]
3) 如何将一个java对象(包括java对象数组、集合)转换成一个json字符串。
使用json库提供的工具。
a. 对象
JSONObject jsonObj = JSONObject.fromObject(srcObj); String jsonStr = jsonObj.toString();
b. 数组或者List集合
JSONArray jsonArr = JSONArray.fromObject(listObj); String jsonStr = jsonArr.toString();
4) 如何将一个json字符串转换成js对象。
可以prototype库提供的evalJSON()函数。
5) 如何处理日期类型
step1
写一个转换器 写一个java类,实现JsonValueProcessor接口
step2
实现两个process方法:按照你自己的要求,定义转换规则。
step3 创建JsonConfig对象,使用该对象注册转换器。
step4 JSONArray.fromObject(srcObj,JsonConfig);
JSON演示 *
案例描述 使用JSON完成级联下拉列表
1) bean.Option
2) 导入JSON的jar包
请下载JSON_jar.zip
如何将一个java对象(包括java对象数组、集合)转换成一个json字符串
3) 测试
a. 新建Test.java
package test;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import bean.Option;
public class Test {
/**
如何将一个json字符串转换成js对象
4) 导入js/prototype-1.6.0.3.js
5) 新建json.html
使用JSON实现级联下拉列表
7) 修改ActionSevlet
package web;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
9) 新建city2.jsp
var city=txt.evalJSON()