一、为什么要使用JSONArray和JSONObject

1、后台 --》前台 能够把java对象和集合转化成json字符串格式,这样在前台的ajax方法中能够直接转化成json对象使用 ,从后台向前台传值

2、前台 --》使用JSON.stringify(mdses)方法把js对象,数组。转化成json字符串 ,后台使用JSONArray或JSONObject 转化成 java对象或集合

有助于前端參数传递到后端。和后端取值y

3、json如今以成为大多传输数据的载体

二、后台解析前台ajax提交数据,使用较少一般都把list 或map转化为json形式的字符串传值到前台的ajax中:

	//依据接收的json字符串来解析字符串中所包括的数据和数据对象
@Test
public void parsJsonFromFront(){
//接收到的json
String result = "[{\"username\": \"your name\", \"user_json\": {\"username\": \"your name\", \"nickname\": \"your nickname\"}}]";
//依据字符串陈
//依据字符串生成JSON对象
//假设是数组的形式 就使用 JSONArray.fromObject(result) 转化为JSONArray 对象
//假设是json对象 就是使用JSONObject.fromObject(result) 转化为JSONObject 对象
JSONArray resultArray = JSONArray.fromObject(result);
JSONObject jsonObject = resultArray.getJSONObject(0);
JSONObject user_json = jsonObject.getJSONObject("user_json");
//依据key值取值
String username = user_json.getString("username");
String nickname = user_json.getString("nickname");
System.out.println("username =" + username + ":" + "nickname = " + nickname);
//console : username =your name:nickname = your nickname
}

三 、后台转化list 或map转化为json形式的字符串传值到前台的ajax中

user bean

public class User {
private String name;
private Adress adress;
private List<String> students;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Adress getAdress() {
return adress;
}
public void setAdress(Adress adress) {
this.adress = adress;
}
public List<String> getStudents() {
return students;
}
public void setStudents(List<String> students) {
this.students = students;
}
public User(String name, Adress adress, List<String> students) {
super();
this.name = name;
this.adress = adress;
this.students = students;
}
public User() {
super();
} }
public class Adress {
private String streetName;
private String district;
public String getStreetName() {
return streetName;
}
public void setStreetName(String streetName) {
this.streetName = streetName;
}
public String getDistrict() {
return district;
}
public void setDistrict(String district) {
this.district = district;
}
public Adress(String streetName, String district) {
super();
this.streetName = streetName;
this.district = district;
}
public Adress() {
super();
// TODO Auto-generated constructor stub
} }

1)bean to json

@Test
public void beanToJson(){
List list = new ArrayList();
list.add( "xiaowang" );
list.add( "xiaohua" );
Adress adress = new Adress("streetName", "district");
JSONObject jsonObject = JSONObject.fromObject(new User("name", adress, list));
System.out.println(jsonObject.toString());
//console :{"adress":{"district":"district","streetName":"streetName"},"name":"name","students":["xiaowang","xiaohua"]}
}

2)

	@Test
public void list2Json(){
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray.toString());
} public Map getMap(){
//声明一个Hash对象并加入数据
Map params = new HashMap(); params.put("username", "username");
params.put("user_json", "user");
return params;
}
@Test
public void map2Json(){
Map map = getMap();
Map map1 = getMap();
List list = new ArrayList();
list.add(map);
list.add(map1);
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println("jsonArray--->" + jsonArray.toString());
JSONArray jsonArray1 = JSONArray.fromObject(map);
System.out.println("jsonArray1--->" + jsonArray1.toString());
}

完整:

public class SimpleExample {

	@Test
public void list2Json(){
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray.toString());
} public Map getMap(){
//声明一个Hash对象并加入数据
Map params = new HashMap(); params.put("username", "username");
params.put("user_json", "user");
return params;
}
@Test
public void map2Json(){
Map map = getMap();
Map map1 = getMap();
List list = new ArrayList();
list.add(map);
list.add(map1);
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println("jsonArray--->" + jsonArray.toString());
JSONArray jsonArray1 = JSONArray.fromObject(map);
System.out.println("jsonArray1--->" + jsonArray1.toString());
}
//依据接收的json字符串来解析字符串中所包括的数据和数据对象
@Test
public void parsJsonFromFront(){
//接收到的json
String result = "[{\"username\": \"your name\", \"user_json\": {\"username\": \"your name\", \"nickname\": \"your nickname\"}}]";
//依据字符串陈
//依据字符串生成JSON对象
//假设是数组的形式 就使用 JSONArray.fromObject(result) 转化为JSONArray 对象
//假设是json对象 就是使用JSONObject.fromObject(result) 转化为JSONObject 对象
JSONArray resultArray = JSONArray.fromObject(result);
JSONObject jsonObject = resultArray.getJSONObject(0);
JSONObject user_json = jsonObject.getJSONObject("user_json");
//依据key值取值
String username = user_json.getString("username");
String nickname = user_json.getString("nickname");
System.out.println("username =" + username + ":" + "nickname = " + nickname);
//console : username =your name:nickname = your nickname
} @Test
public void beanToJson(){
List list = new ArrayList();
list.add( "xiaowang" );
list.add( "xiaohua" );
Adress adress = new Adress("streetName", "district");
JSONObject jsonObject = JSONObject.fromObject(new User("name", adress, list));
System.out.println(jsonObject.toString());
//console :{"adress":{"district":"district","streetName":"streetName"},"name":"name","students":["xiaowang","xiaohua"]}
} }

相关依赖jar下载:http://download.csdn.net/detail/hao007cn/8995465

JSONArray和JSONObject的简单使用的更多相关文章

  1. Android开发将List转化为JsonArray和JsonObject

    客户端需要将List<Object>转化为JsonArray和JsonObject的方法: 首先,List中的Object的属性需要是public: class Person { publ ...

  2. fastjson的JSONArray和JSONObject

    转自: http://blog.csdn.net/tangerr/article/details/76217924 Fastjson是国内著名的电子商务互联网公司阿里巴巴内部开发的用于java后台处理 ...

  3. JsonArray和JsonObject的使用

    import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonTest { public static v ...

  4. Json中判断是JSONArray还是JSONObject

    聪明的人总是能想到别人会遇到的问题,提前给出解决方案. List propList = new ArrayList(); //装载数据的list JSONArray array= JSONArray. ...

  5. JSON ,JSONArray和JSONObject

    和 XML 一样,JSON 也是基于纯文本的数据格式.由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,可以用 JSON 传输一个简单的 String,Num ...

  6. jsonArray与jsonObject

    最近两个星期接触最多的就是json和map了. 之前用到的json,就是一个键对应一个值,超级简单的一对一关系.现在用到的json那可以层层嵌套啊,刚开始接触的时候,确实有种崩溃的赶脚,不想去理,取个 ...

  7. json解析(自动判断是jsonArray和jsonObject)

    因为想做一个接口自动化框架,已经实现了接口的访问和连接及获取接口返回的json数据,但json数据的解析是个麻烦的事情,所以写一个简单的版本记录一下.后续会进行优化,实现方法分离以及自动识别循环解析返 ...

  8. JAVA中使用JSONArray和JSONObject

    json 就是一个键对应一个值,简单的一对一关系. JSONObject  json对象,就是一个键对应一个值(键值对),使用的是大括号{ },如:{key:value} JSONArray  jso ...

  9. java中转换json方式(JSONArray,JSONObject),json解析

    package com.yunos.tv.video.resource.controller.web; import java.util.ArrayList; import java.util.Has ...

随机推荐

  1. DBCC-->Database Console Commands

    https://docs.microsoft.com/en-us/sql/t-sql/database-console-commands/database-console-commands DBCC ...

  2. js 使用(不断更新...)

    1.JS 对象(Object)和字符串(String)互转 var jsObj = {}; jsObj.testArray = [1, 2, 3, 4, 5]; jsObj.name = 'CSS3' ...

  3. Minikube之Win10单机部署Kubernetes(k8s)自动化容器操作的开源平台

    Minikube之Win10单机部署 Kubernetes(k8s)是自动化容器操作的开源平台,基于这个平台,你可以进行容器部署,资源调度和集群扩容等操作.如果你曾经用过Docker部署容器,那么可以 ...

  4. 41.AngularJS 服务(Service)

    转自:https://www.cnblogs.com/best/tag/Angular/ 什么是服务? 在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用. A ...

  5. [poj 2773] Happy 2006 解题报告 (二分答案+容斥原理)

    题目链接:http://poj.org/problem?id=2773 题目大意: 给出两个数m,k,要求求出从1开始与m互质的第k个数 题解: #include<algorithm> # ...

  6. vue -- 7 个 有用的 Vue 开发技巧

    1 状态共享 随着组件的细化,就会遇到多组件状态共享的情况, Vuex当然可以解决这类问题,不过就像 Vuex官方文档所说的,如果应用不够大,为避免代码繁琐冗余,最好不要使用它,今天我们介绍的是 vu ...

  7. hdu1978 How many ways

    How many ways Problem Description 这是一个简单的生存游戏,你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的终点(n,m).游戏的规则描述如下: 机器人一开始在棋 ...

  8. POJ 1631 nlogn求LIS

    方法一: 二分 我们可以知道 最长上升子序列的 最后一个数的值是随序列的长度而递增的 (呃呃呃 意会意会) 然后我们就可以二分找值了(并更新) //By SiriusRen #include < ...

  9. 关于网易云音乐爬虫的api接口?

    抓包能力有限,分析了一下网易云音乐的一些api接口,但是关于它很多post请求都是加了密,没有弄太明白.之前在知乎看到过一个豆瓣工程师写的教程,但是被投诉删掉了,请问有网友fork了的吗?因为我觉得他 ...

  10. JACOB调用控件函数

    背景介绍: 使用JAVA程序,实现对系统已安装控件方法的调用. JACOB下载地址:http://danadler.com/jacob/ 使用方法: 1.将jacob.jar添加到项目工程中 2.将j ...