1.Group类

import java.util.ArrayList;
import java.util.List; class Group{
private int id;
private String name;
private List<User> list = new ArrayList<User>();
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<User> getList() {
return list;
}
public void setList(List<User> list) {
this.list = list;
}
}

2.User类

class User{
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

3.Weibo

class Weibo {
private String id;
private String city; public Weibo(String id, String city) {
this.id = id;
this.city = city;
} public Weibo() {
} public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public String getCity() {
return city;
} public void setCity(String city) {
this.city = city;
}
}

4.JsonDemo 类

import java.util.HashMap;
import java.util.List;
import java.util.Map; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; public class JsonDemo {
public static void main(String[] args) {
// json2JsonObjectM1();//将Json文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息
// json2BeanM2(); //将Json文本数据转换为JavaBean数据!
// json2JSONArrayM3(); //将json数据转化为JSONArray:
// json2JavaBeanM4();
// //将JSON文本转换为JavaBean的集合;转换为单纯的1个Object:parseObject(String text,
// Class<T> clazz);
//bean2JsonM5(); // 将JavaBean转换为Json格式的数据/Json文本 用户数据的传递:例如上传服务器
// bean2JSONObjectM6();//将JavaBean转换为JSON对象
// complexExampleM7(); //一个相对复杂的例子:
// complex2JsonM8(); //一个复杂的Object到Json的Demo
complexMap2JsonM9();//将Map数据转换为JsonString的Demo;这个对RedBoy服务端不就直接破了嘛!
} /**
* 1.将Json文本数据信息转换为JsonObject对象,然后利用键值对的方式获取信息
*/
private static void json2JsonObjectM1() {
// 一个JsonObject文本数据
String s = "{\"name\":\"liuzhao\"}";
// JSON.parseObject,是将Json字符串转化为相应的对象.
// JSON.toJSONString则是将对象转化为Json字符串。
JSONObject object = JSON.parseObject(s);
// 利用键值对的方式获取到值
System.out.println(object.get("name"));
/**
* 打印: liuzhao
*/
} /**
* 2.将Json文本数据转换为JavaBean数据!
* 需要注意的是:这时候的Json文本信息中的键的名称必须和JavaBean中的字段名称一样!键中没有的在这个JavaBean中就显示为null!
*/
private static void json2BeanM2() {
String s = "{\"id\":\"0375\",\"city\":\"平顶山\"}";
// 一个简单方便 的方法将Json文本信息转换为JsonObject对象的同时转换为JavaBean对象!
Weibo weibo = JSON.parseObject(s, Weibo.class);// Weibo类在下边定义
System.out.println(weibo.getId());
System.out.println(weibo.getCity());
// 打印的结果 0375
// 平顶山
} /**
* 将Map类型的数据转换为JsonString
*/
private static void complexMap2JsonM9() {
Group group = new Group();
group.setId();
group.setName("group"); User user1 = new User();
user1.setId();
user1.setName("user1"); User user2 = new User();
user2.setId();
user2.setName("user2");
group.getList().add(user1);
group.getList().add(user2); Map<Integer, Object> map = new HashMap<Integer, Object>();
map.put(, "No.1");
map.put(, "No.2");
map.put(, group.getList()); String jsonString = JSON.toJSONString(map);
System.out.println(jsonString);
/**
* 输出:{1:"No.1",2:"No.2",3:[{"id":2,"name":"user1"},{"id":3,"name":
* "user2"}]}
*/
} /**
* 由一个复杂的Object到Json的Demo
*/
private static void complex2JsonM8() {
Group group = new Group();
group.setId();
group.setName("group"); User user1 = new User();
user1.setId();
user1.setName("user1"); User user2 = new User();
user2.setId();
user2.setName("user2");
group.getList().add(user1);
group.getList().add(user2);
String jsonString = JSON.toJSONString(group);
System.out.println(jsonString);
/**
* 输出:{"id":1,"list":[{"id":2,"name":"user1"},{"id":3,"name":"user2"}],
* "name":"group"}
*/
} /**
* 一个相对复杂的例子: JSON文本数据: 首先是JSONObject,转换为JSONArray; 然后将JSONArray转换为JavaBean
*/
private static void complexExampleM7() {
String s = "{js:[{id:\"110000\",\"city\":\"北#001京市\"},{id:\"110000\",\"city\":\"北#002京市\"}"
+ ",{id:\"110000\",\"city\":\"北#002京市\"},{id:\"110000\",\"city\":\"北#002京市\"},"
+ "{id:\"110000\",\"city\":\"#006北#005京市\"}," + "{id:\"110000\",\"city\":\"北#002京市\"},"
+ "{id:\"110000\",\"city\":\"北#002京市\"},{id:\"120000\",\"city\":\"天#009津市\"}]}"; JSONObject object = JSON.parseObject(s);
Object jsonArray = object.get("js");
System.out.println(jsonArray);
List<Weibo> list = JSON.parseArray(jsonArray + "", Weibo.class);
for (Weibo weibo : list) {
System.out.println(weibo.getCity());
}
} /**
* 将JavaBean转换为JSON对象
*/
private static void bean2JSONObjectM6() {
Weibo weibo = new Weibo("", "洛阳");
JSONObject json = (JSONObject) JSON.toJSON(weibo);
System.out.println(json.get("id"));
/**
* 打印: 0373
*/
} /**
* 4.将JSON文本转换为JavaBean的集合; 内部实现肯定是:首先转换为JSONArray,然后再转换为List集合
*/
private static void json2JavaBeanM4() {
String s = "[{\"id\":\"0375\",\"city\":\"平顶山\"},{\"id\":\"0377\",\"city\":\"南阳\"}]";
// list放的是索引位置,也可以放对象的索引位置
List<Weibo> list = JSON.parseArray(s, Weibo.class);
for (Weibo weibo : list) {
System.out.println(weibo.getCity());
}
/**
* 打印: 平顶山 南阳
*/
} /**
* 3.将json数据转化为JSONArray:
* 注意:获取到JSONArray之后(我们这里只是获取到JSONArray而不是JavaBean的List集合)
* 获取JSONArray中的数据转换为String类型需要在外边加"";
*/
private static void json2JSONArrayM3() {
String s = "[{\"id\":\"0375\",\"city\":\"平顶山\"},{\"id\":\"0377\",\"city\":\"南阳\"}]";
// 将JSON文本转换为JSONArray
JSONArray array = JSON.parseArray(s);
// 这行必须写:必须加上+"";不然会报出类型强转异常!
String str = array.get() + "";
System.out.println(array.get());
JSONObject object = JSON.parseObject(str);
System.out.println(object.get("id"));
/**
* {"city":"平顶山","id":"0375"}
*/
} /**
* 5. 将JavaBean转换为Json格式的数据/Json文本 用户数据的传递:例如上传服务器
*/
private static void bean2JsonM5() {
Weibo weibo = new Weibo("", "上海");
String string = JSON.toJSONString(weibo);
System.out.println(string);
/**
* 打印: {"city":"上海","id":"123456"}
*/
} }

5.maven依赖

    <dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.</version>
</dependency>
</dependencies>

或导这个报也可以

json简单案例的更多相关文章

  1. json数据格式的简单案例

    json数据是一种文本字符串,它是javascript的原生数据格式,在数据需要多次重复使用时,json数据是ajax请求的首先.(注:ajax返回的数据格式支持三种分别为:文本格式,json.和xm ...

  2. SSM框架整合(Spring+SrpingMVC+Mybatis) 简单案例

    简介: SSM框架是Spring,SpringMVC 和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,dao层四层. Spring实现 ...

  3. python——flask常见接口开发(简单案例)

    python——flask常见接口开发(简单案例)原创 大蛇王 发布于2019-01-24 11:34:06 阅读数 5208 收藏展开 版本:python3.5+ 模块:flask 目标:开发一个只 ...

  4. SpringBoot基础学习(一) SpringBoot概念、简单案例实现、单元测试及热部署讲解

    SpringBoot概念 Spring优缺点分析 Spring优点 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品,无需开发重量级的 ...

  5. Servlet请求头response应用简单案例

    Servlet请求头response应用简单案例:访问AServlet重定向到BServlet,5秒后跳到CServlet,并显示图片: AServlet package cn.yzu; import ...

  6. winform 通过 html 与swf 交互 简单案例

    在上一篇 winform 与 html 交互 简单案例 中讲了winform与html之间的简单交互,接下来的内容是在winform中以html为中转站,实现将swf嵌入winform中并实现交互. ...

  7. [Design Pattern] Front Controller Pattern 简单案例

    Front Controller Pattern, 即前端控制器模式,用于集中化用户请求,使得所有请求都经过同一个前端控制器处理,处理内容有身份验证.权限验证.记录和追踪请求等,处理后再交由分发器把请 ...

  8. [Design Pattern] Observer Pattern 简单案例

    Observer Pattern,即观察者模式,当存在一对多关系,例如一个对象一有变动,就要自动通知被依赖的全部对象得场景,属于行为类的设计模式. 下面是一个观察者模式的简单案例. Observer ...

  9. [Design Pattern] Mediator Pattern 简单案例

    Meditor Pattern,即调解模式,用一个调解类类处理所有的沟通事件,使得降低多对象之间的沟通难度,属于行为类的设计模式.为了方便理解记忆,我也称其为,沟通模式. 下面是一个调解模式的简单案例 ...

随机推荐

  1. JVM系列四:类加载

    类的生命周期 加载->验证->准备->解析->初始化->使用->卸载 类加载过程 类加载包括以上的前五个过程:加载,验证,准备,解析,初始化 加载 1.主要完成三个 ...

  2. How to parse unix timestamp to time.Time

      The time.Parse function does not do Unix timestamps. Instead you can use strconv.ParseInt to parse ...

  3. MySQL 表查询

    表查询 前期准备一张表 create table emp( id int not null unique auto_increment, name varchar(32) not null, gend ...

  4. 获取历史K线数据的几个方法

    1.通过已有的股票交易软件下载数据,如果他们是开源结构的,就可以解析他们的K线数据. 2.在互联网上抓取数据 int iStockCode;CString strUrl; 通过OpenUrl.Read ...

  5. Linux Redirecting to /bin/systemctl restart iptables.service

    方案 一 1.昨天碰到一个错误,linux下输入命令:service iptables restart时,总会报下面一个提示很简单,这句话的意思就是让你重定向到systemctl然后再启用,白话就是说 ...

  6. Second Max of Array

    Find the second max number in a given array. Example Given [1, 3, 2, 4], return 3. Given [1, 2], ret ...

  7. angularJs driective指令小实例

    做一个下拉菜单,体会指令各参数的作用 html代码 <script type="text/ng-template" id="mydropdown.html" ...

  8. GitHub的SSH免密连接

    1.进入当前用户的家目录 $ cd ~ 2.删除.ssh 目录 $ rm -rvf .ssh 3.运行命令生成.ssh 密钥目录 $ ssh-keygen -t rsa -C [GitHub邮箱] [ ...

  9. java中 什么是反射?

    JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法: 对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java语言的反射 ...

  10. l2_multi.py

    # Copyright 2012-2013 James McCauley # # Licensed under the Apache License, Version 2.0 (the "L ...