JSON的入门介绍学习
JSON封装数据的几种方式
package com.feture.test;
import com.feture.po.Game;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;import java.util.*;public class TestJson {public static void main(String[] args) {/** JavaScript Object Notation* JSON* 一种轻量级的数据交换格式,2004年诞生,2006年加入* ajax技术体系,用来取代xml封装批量数据,可以在Java服务器端* 和Js端同时使用* 格式:* 1){key1:value1,key2:value2,keyN:valueN}* key:字符串* value:* 字符串* 八种基本数据类型* null* 数组* json** 2)[value1,value2,value3,valueN]** value:* 字符串* 八种基本数据类型* null* 数组* json*封装方式1:可以封装任意数据类型,封装之后呈现第一种格式的json* */String str = "etoak";String[] strAr = {"济南","青岛","淄博"};boolean flag = true;int i = 100;JSONObject jo1 = new JSONObject();jo1.put("key1",str);jo1.put("key2",strAr);jo1.put("key3",flag);jo1.put("key4",i);//{"key1":"etoak","key2":["济南","青岛","淄博"],"key3":true,"key4":100}System.out.println(jo1);JSONObject jo2 = new JSONObject();jo2.put("myGame",new Game(1,"只狼","AVG"));//{"myGame":{"name":"只狼","id":1,"type":"AVG"}}System.out.println(jo2);/** 封装方式2:可以封装自定义数据类型和Map* 封装之后呈现第一种格式的json* */Map<Integer,String> map = new HashMap<Integer,String>();map.put(1,"Javascript");map.put(2,"jQuery");map.put(3,"VUE");map.put(4,"Angular");map.put(5,"React");JSONObject js1 = JSONObject.fromObject(map);//{"1":"Javascript","2":"jQuery","3":"VUE","4":"Angular","5":"React"}System.out.println(js1);JSONObject js2 = JSONObject.fromObject(new Game(2,"dota自走棋","slg"));//{"name":"dota自走棋","id":2,"type":"slg"}System.out.println(js2);//对自定义数据类型中的属性进行有选择的封装JsonConfig jc = new JsonConfig();//设置不需要封装的字段名jc.setExcludes(new String[]{"id","type"});JSONObject js3 = JSONObject.fromObject(new Game(3,"王者荣耀","moba"),jc);//{"name":"王者荣耀"}System.out.println(js3);/** 封装方式3:* 可以封装List Set 和 数组* 封装之后呈现格式2的json* */List<String> list = new ArrayList<String>();list.add("Iphone");list.add("Apple Watch");list.add("Air Pods");list.add("MacBook");list.add("Ipad");JSONArray ja1 = JSONArray.fromObject(list);//["Iphone","Apple Watch","Air Pods","MacBook","Ipad"]System.out.println(ja1);JSONArray ja2 = JSONArray.fromObject(strAr);//["济南","青岛","淄博"]System.out.println(ja2);Set<String> set = new HashSet<String>();set.add("Java");set.add("C");set.add("C++");set.add("Php");set.add("Swift");JSONArray ja3 = JSONArray.fromObject(set);//["Java","C++","C","Php","Swift"]System.out.println(ja3);}
}
JSON的入门介绍学习相关推荐
- 独家 | 集成学习入门介绍
作者:Jason Brownlee 翻译:wwl 校对:王琦 本文约3300字,建议阅读8分钟. 本文介绍了我们在生活中的许多决定包括了其他人的意见,由于群体的智慧,有的时候群体的决策优于个体.在机器 ...
- AI Studio 飞桨 零基础入门深度学习笔记4-飞桨开源深度学习平台介绍
AI Studio 飞桨 零基础入门深度学习笔记4-飞桨开源深度学习平台介绍 深度学习框架 深度学习框架优势 深度学习框架设计思路 飞桨开源深度学习平台 飞桨开源深度学习平台全景 框架和全流程工具 模 ...
- 干货 :集成学习入门介绍
作者:Jason Brownlee 翻译:wwl 校对:王琦 本文约3300字,建议阅读8分钟. 本文介绍了我们在生活中的许多决定包括了其他人的意见,由于群体的智慧,有的时候群体的决策优于个 ...
- 编程比赛 介绍 入门 及 学习路线
内容若有不足与纰漏,请多指教! 文章目录 写在前面 编程比赛介绍 蓝桥杯 天梯赛 CPC类 比赛 编程比赛要点注意 赛前 赛中 赛后 编程比赛常见术语 比赛相关 常见术语 编程 | 学习 学习 | 练 ...
- ZipKin原理学习--ZipKin入门介绍
ZipKin入门介绍 Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper的论文设计而来,由 Twitter 公司 ...
- 学习Mysql过程中拓展的其他技术栈:Docker入门介绍
一.Docker的介绍和安装 1. Docker是什么 百度百科的介绍: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linu ...
- 对学习Eclipse的思考之基本入门介绍
Eclipse 是现在比较常用的Java 的集成开发环境,下面对其进行简单的入门介绍如下: Eclipse 是一个开放源代码的.基于 Java 的可扩展开发平台. Eclipse 是 Java 的集成 ...
- [Python爬虫] scrapy爬虫系列 一.安装及入门介绍
前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作.但是,更 ...
- [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)
最近在使用Python爬取网页内容时,总是遇到JS临时加载.动态获取网页信息的困难.例如爬取CSDN下载资源评论.搜狐图片中的"原图"等,此时尝试学习Phantomjs和Caspe ...
最新文章
- 怎样用python自动化办公_会python基础,如何学习自动化办公?
- ADO.NET入门教程(三) 连接字符串,你小觑了吗?
- ununtu20.04系统中如何划词翻译_如何高效阅读PDF外文文献,这一篇文章全搞定
- 对mysql explain讲的比较清楚的
- 三十四、深入Java中的泛型(上篇)
- 计算机电源稳压,一种用于计算机的电源稳压电路
- 20200819:力扣202周周赛题解记录
- mongodb处理库 php_MongoDB数据库常用操作PHP代码
- 享元模式在 Java Integer 中的应用
- Duplicate Photos Fixer Pro for Mac用户指南:我可以比较不同时间的照片吗?
- PHP单元测试PHPUnit
- 【大牛分享】人机工程简史
- MicroDicom viewer(Dicom格式看图软件) v3.4.7官方版
- 一个美国人到中国当产品经理的心得:中国App设计真好!
- 盘点——iOS应用开发常用工具
- 如何修改steam中dota服务器,STEAM玩刀塔自走棋如何设置_STEAM玩刀塔自走棋教程_玩游戏网...
- 10015---SpringMVC--自定义视图
- 通过ssh访问docker容器的办法 亲测可行
- 内存条的逻辑BANK和RANK(物理BANK)概念
- Go语言如何实现删除Winmail邮箱系统中收件箱的所有邮件
热门文章
- 国产手机以价格战争锋折叠手机,然而定价权却在三星手上
- 文心一言对于宣传文案理解
- kubernetes1.6中redis-mong-zookeepe-rabbitmq集群部署
- matlab 画海面图,教你画波光粼粼的海面
- 华为openEuler(EulerOS)系统 设置yum源
- android 左测设置功能,iqoo手机左边按键有什么作用?iqoo手机左侧按键介绍
- 互联网常用的几种有效引流方法:精准引流获客加人吸粉
- 数据库操作--已更新或删除的行值要么不能使该行成为唯一行,要么改变了多个行
- 数据采集上报之灯塔SDK详解
- 计算机等级考试四级网络工程师必备考点总结