这个适合初学者:刚刚我学习的

1.基础的“JSON

    对象是用一对大括号;

例如:

{

     “name”:"xiaohua",

      "age" : 23 ,

      "susses": true

}

2.数组或者LIST

    用一对中括号:

["a","b","c"]

3.对象数组

  [{"name": "userName","age": 23}]

在使用的过程重,可以使用网站进行验证 http://www.bejson.com/

例如:有一个人的类,年龄,名字,老婆,老婆也有一个名字,有2个孩子,第一个孩子name, 第二个孩子name,第二个孩子有一个女儿,女儿也有一个名字属性。

{     "name": "perName",     "age": 23,     "wife": {         "wifeName": "wifeName"     },     "son": [         {             "son1": {                 "name": "son1"             },             "son2": {                 "name": "son2"             },             "dau": {                 "dauName": "dauName"             }         }     ] }

3. 使用IDEA工具进行序列化和反序列化。

       具体详细的写法大家可以进行百度

public class JsonTest {
@Test
public void TestJson() {
Person person = new Person();
person.setAge();
person.setName("老王"); Wife wife = new Wife();
wife.setName("小王"); List<Son> list = new ArrayList(); List list1 =new LinkedList(); Son son = new Son();
son.setName("大明"); Son son1 = new Son();
son1.setName("小明");
NvEr nvEr = new NvEr();
nvEr.setName("女儿");
son1.setNvEr(nvEr);
list.add(son);
list.add(son1); person.setWife(wife);
person.setSons(list);
String json = JSON.toJSONString(person, SerializerFeature.WriteClassName);
System.out.println(json); Person person1 = JSON.parseObject(json, Person.class);
List<Son> sonList = person1.getSons();
for (Son son2 : sonList) {
System.out.println(son2.getName());
}
System.out.println();
}
} 结果:
{
    "@type": "com.longteng.json.Person",
    "age": 18,
    "name": "老王",
    "sons": [
        {
            "@type": "com.longteng.json.Son",
            "name": "大明"
        },
        {
            "@type": "com.longteng.json.Son",
            "name": "小明",
            "nvEr": {
                "name": "女儿"
            }
        }
    ],
    "wife": {
        "name": "小王"
    }
}

JSON的简单书写(初学),使用Java语言反序列化的更多相关文章

  1. day01<计算机基础知识&Java语言基础>

    计算机基础知识(计算机概述) 计算机基础知识(软件开发和计算机语言概述) 计算机基础知识(人机交互) 计算机基础知识(键盘功能键和快捷键) 计算机基础知识(如何打开DOS控制台) 计算机基础知识(常见 ...

  2. iOS 开发学习-类的创建与实现,与java语言的对比

    Person.h #import <Foundation/Foundation.h> @interface Person : NSObject { //在{}中定义属性(全局变量/实例变量 ...

  3. Java初认识--Java语言的书写规范及基本的运算符

    一.Java中名称的规范和书写程序的规范. 1.Java中的名称规范: (1)包名全是小写:xxyyzz: (2)类名接口名:首字母大写:XxxYyy: (3)变量名和函数名:变量名不能是关键字:多单 ...

  4. 用Java语言实现简单的词法分析器

    编译原理中的词法分析算是很重要的一个部分,原理比较简单,不过网上大部分都是用C语言或者C++来编写,笔者近期在学习Java,故用Java语言实现了简单的词法分析器. 要分析的代码段如下: 输出结果如下 ...

  5. Fastjson是一个Java语言编写的高性能功能完善的JSON库。

    简介 Fastjson是一个Java语言编写的高性能功能完善的JSON库. 高性能 fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson. ...

  6. Java语言实现简单FTP软件------>FTP软件主界面的实现(四)

    首先看一下该软件的整体代码框架                        1.首先介绍程序的主入口FTPMain.java,采用了一个漂亮的外观风格 package com.oyp.ftp; im ...

  7. Java语言实现简单FTP软件------>源码放送(十三)

    Java语言实现简单FTP软件------>FTP协议分析(一) Java语言实现简单FTP软件------>FTP软件效果图预览之下载功能(二) Java语言实现简单FTP软件----- ...

  8. Java语言实现简单FTP软件------>上传下载管理模块的实现(十一)

    1.上传本地文件或文件夹到远程FTP服务器端的功能. 当用户在本地文件列表中选择想要上传的文件后,点击上传按钮,将本机上指定的文件上传到FTP服务器当前展现的目录,下图为上传子模块流程图 选择好要上传 ...

  9. Java学习第一天之简单了解java语言及开发环境的安装

    一.初步了解Java语言 Java语言是由Sun公司的James Gosling创造的一门面向对象的高级语言. 2009年4月20日,Sun公司被Oracle以总价值约为74亿美元的价格收购,Java ...

随机推荐

  1. Linux环境下安装配置Node.js

    1.在官网查看版本,LTS代表长期支持的版本 2.进入服务器 3.输入命令:·wget https://npm.taobao.org/mirrors/node/v8.9.3/node-v8.9.3-l ...

  2. NEO从入门到开窗(2) - 智能合约的面相

    一.啰嗦两句 昨天讲了智能合约的一生,那丫长啥样啊?今儿我就跟各位唠叨唠叨. 二.一个简单的智能合约 下面这段就是NEO实例源码里的一个,干撒用的?聪明的你一眼儿就看出来了吧,就是一个所谓域名合约的增 ...

  3. Flyway--数据库版本管理和控制工具

    1. Flyway 的主要任务是管理数据库的版本更新,在Flyway 中称每次数据库更新为一个migration ,为了更顺口,我们下面称之为数据库脚本.Flyway 支持SQL-based migr ...

  4. 总结的Javascript插件

    1.很好用的弹窗 https://limonte.github.io/sweetalert2/ https://github.com/limonte/sweetalert2 import './unt ...

  5. Acer Aspire E1 471G 加装SSD+机械盘后无法启动的问题

    老笔记本 Acer Aspire E1 471G 加装了一块 SSD 作为系统盘(win10),原机械盘格式化后,装在光驱托架上作为数据盘. 可能会出现: 系统无法启动,显示找不到启动设备,并且在F2 ...

  6. poj 1154 letters (dfs回溯)

    http://poj.org/problem?id=1154 #include<iostream> using namespace std; ]={},s,r,sum=,s1=; ][]; ...

  7. 【openvpn】转载:烂泥:ubuntu 14.04搭建OpenVPN服务器

    地址:http://www.cnblogs.com/ilanni/p/4681740.html (1)安装openVpn软件后.在openVpn的配置目录下添加配置文件: ca.crt  client ...

  8. http,socks4,socks5代理的区别

    HTTP代理 能够代理客户机的HTTP访问,主要是代理浏览器访问网页,它的端口一般为80.8080.3128等: SOCKS代理 SOCKS代理与其他类型的代理不同,它只是简单地传递数据包,而并不关心 ...

  9. 项目Beta冲刺Day1

    项目进展 李明皇 今天解决的进度 点击首页list相应条目将信息传到详情页 明天安排 优化信息详情页布局 林翔 今天解决的进度 前后端连接成功 明天安排 开始微信前端+数据库写入 孙敏铭 今天解决的进 ...

  10. vue项目结构

    前言 我在 搭建vue项目环境 简单说明了项目初始化完成后的目录结构. 但在实际项目中,src目录下的结构需要跟随项目做一些小小的调整. 目录结构 ├── src 项目源码目录 │ ├── api 所 ...