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

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. 分享一个命令行计算器-bc

    分享一个命令行计算器-bc 假如你在一个图形桌面环境中需要一个计算器时,你可能只需要一路进行点击便可以找到一个计算器.例如,Fedora 工作站中就已经包含了一个名为 Calculator 的工具.它 ...

  2. vue的图片上传

    转载  代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  3. 【Python】 docker-py 用Python调用Docker接口

    [docker-py] 官方文档:[https://docker-py.readthedocs.io/en/stable/images.html] 众所周知,Docker向外界提供了一个API来管理其 ...

  4. c++ --> sizeof()使用小结

    sizeof()使用小结 特性0:sizeof是运算符,不是函数 sizeof最基本特性,后面的很多特性都是受到这个特性的影响,正因为sizeof不是函数,因此不把它所要求得长度的对象叫做参数,习惯上 ...

  5. lvs(dr)+keepalived

    系统:centos6.5mini 环境: 机器名 Ip地址 角色 Vip-web: 192.168.20.50 Vip-mysql: 192.168.20.60 lvs01 192.168.20.10 ...

  6. ava集合---LinkedList源码解析

    一.源码解析 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E ...

  7. java排序算法(三):堆排序

    java排序算法(三)堆排序 堆积排序(HeapSort)是指利用堆积树这种结构所设计的排序算法,可以利用数组的特点快速定位指定索引的元素.堆排序是不稳定的排序方法.辅助空间为O(1).最坏时间复杂度 ...

  8. win10下NeuralStyle的tensorflow版实验

    ---恢复内容开始--- 首先配置win10下的tensorflow-gpu的运行环境,然后在github上将NeuralStyle拷贝下来,最后根据文档说明参数,运行文件,即可得到自己喜欢的styl ...

  9. C#/AutoCAD 2018/ObjectArx/二次开发添加图形对象步骤和添加直线的例子(三)

    1.创建一个图形对象的步骤如下(1)得到创建对象的图形数据库:(2)在内存中创建实体类的一个对象:(3)定义一个指向当前数据库的事务处理:(4)打开图形数据库的块表:(5)打开一个存储实体的块表记录( ...

  10. JavaScript(第一天)【<script>标签浅析】

    一.创建一张HTML页面 初学者创建一张html页面建议借助工具,例如Dreamweaver可视化编辑器.   二.<Script>标签解析 <script>xxx</s ...