前后端数据交换工具json——拙见

分析:

前后端对于json的使用方式不一样;json语法格式不做介绍;

前端:

json的引入方式:

//删除方法:delete(key);

操作:

json格式的字符串与json对象的字符串相互转化;

json对象转化为字符串:

formJson{“name”:“毛寒”,“ID”:“lovewen”};

var Data = JSON.stringify(fromJson);

document.write(Data) == “{“name”:“毛寒”,“ID”:“lovewen”}”;

用ajax传入java服务器:

$.ajax({ url :“servlet/Login”,

type:“post”,

data:"{“mydata”:Data,…}"

});

java服务器传来的json格式字符串,success接收后需要转换为json对象;

var jsonOBJ = JSON.parse(jsonString);

java服务器端json技术:

(java环境下和js环境下json对象数据类型有区别;因为java和js数据类型不同;)

第一步:载入依赖包(v:版本号)

{commons-beanutils-v.jar # commons-collections-v.jar # commons-lang-v.jar # commons-logging-v.jar # ezmorph-v.jar # json-lib-v.jar } ;

JSONObject类核心功能:
(JSONObject是一个final类继承了顶级父类object实现了json接口);

JSONObject构造方法:

JSONObject (); //创建一个空的JSONObject对象;也有带参构造方法;

常用API:(分两类):

一:json对象与其他类型相互转换:

//测试jsonobj两类API和jsonAArray;

public void Jsondemo(){

//从其他数据obj:(map、Bean、String)构建一个json对象;Bean:严格规范的实体类;

//方法一(obj类型转换成jsonobj类型):static JSONObject fromobject(Object obj);

//方法二(反转):static Object JSONObject.toBean(Object object,Class class);

//1.从map构建json且反转实例;

Map map =new HashMap();

map.put("name","毛寒");

JSONObject jsonObject = JSONObject.fromObject(map);

System.out.println(jsonObject);

//反转:

map = (Map)JSONObject.toBean(jsonObject,Map.class);

System.out.println(map);

//Bean、String:与Map原理一样,代入即可;

二:对json对象内部数据执行的CRUD和遍历等操作:

//增加和修改:obj.put(key:value);

//删除与清空:obj.remove(key); obj.clear();

//遍历操作:

JSONObject object =new JSONObject();

object.put(“name1”,“毛寒”);

object.put(“name2”,“毛寒子”);

object.put(“name3”,“雯儿”);

object.put(“name4”,“雯雯”);

object.put(“name5”,“可可”);

String name = object.getString(“name3”);

System.out.println(name);

//遍历(迭代器方法进行遍历);

Iterator keys = object.keys();

Object obj;

while (keys.hasNext()){

obj = jsonObject.get(keys.next());

System.out.println(obj);

}

JSONArray类:

相当于js中的json对象那个数组;java服务端JSONArray对象可封装从数据库获取的对象集合(结果集)并与前端js环境下的json对象数组相对应;(操作方法基本和javaArray相同);

构造器:JSONArray obj = new JSONArray();

对象转化:JSONArray.formObject(object); object:一般是集合对象;List、Array以及符合要求的把实体对象数组转化为JSONArray对象;

增加、修改、删除:add(JSONObject)//必须是JSONObject对象;remove(int index);toArray()[index];

前后端分离:
前端页面中的关键变量名最好与实体类中成员变量名保持一致;方便json对象与实体类对象之间的转换;

你可能感兴趣的:(前后端数据交换工具json——拙见)