简单JSON
JSON是什么
JavaScript Object Notation(JavaScript 对象表示),是一种存储和交换文本信息的语法,它独立程序语言,是轻量级的文本数据交换格式,比XML更小、更快,更易解析,JS原生支持JSON解析
语法
包括了{对象}和[数组],二者可以互相嵌套
字符串用 “ ” 包裹,其余就不用(数字,布尔值,null)
对象类似于键值对,键不能重复,对象用 { } 包裹,键值之间用 : 间隔,并且各值之间用 , 隔开
数组废话类似于数组了,值之间用 ,间隔
{
"name": "Howl",
"nickname": "Howlet"
}
["name", "Howl", "Howlshit"]
{
"name": "Howl",
"nickname": "Howlet",
"array": ["firstname", "lastname"],
"complex": [{
"java": "good"
}, {
"php": "bad"
}]
}
客户端方法
- JSON.parse(String str) 把服务器传过来的JSON字符串转化成JavaScript对象
- JSON.stringify(Object oj) 把JavaScript对象转换成JSON字符串
JavaBean转化JSON
Java中并没有内置JSON的解析类所以要借助第三方类库,这里使用阿里巴巴的 FastJson
FastJson方法
JSON.toJSONString(Object) //JavaBean转化成JSON
JSON.parseObject(jsonObject,Object.class) //JSON转化成JavaBean
JavaBean
public class User {
private int id;
private String email;
private String password;
public User(int id, String email, String password) {
super();
this.id = id;
this.email = email;
this.password = password;
}
//FastJson操作基于Getters和Setters,不能不写,这里为了省地方去掉了
}
main
public static void main(String[] args) {
//创建JavaBean对象
User user1 = new User(20, "1210911104@qq.com", "Howl");
//JavaBean对象转成json对象
String jsonObject = JSON.toJSONString(user1);
System.out.println("JavaBean对象转成json对象" + "-------------" + jsonObject + "\n");
//json对象转成JavaBean对象
User user2 = JSON.parseObject(jsonObject, User.class);
System.out.println("json对象转成JavaBean对象" + "-------------" + user2.getId() + "--" + user2.getEmail() + "--" + user2.getPassword());
}
输出
JavaBean对象转成json对象-------------{"email":"1210911104@qq.com","id":20,"password":"Howl"}
json对象转成JavaBean对象-------------20--1210911104@qq.com--Howl
补充
尴尬的是FastJson经常性爆出漏洞,而且Springboot集成了JackJson,那么就贴下其代码把
// Springboot自带JackJson
Object object = new Object();
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(object);
Object o = mapper.readValue(json,object.getClass());
简单JSON的更多相关文章
- iOS开发——数据解析Swift篇&简单json数据处理
简单json数据处理 //loadWeather var url = NSURL(string: "http://www.weather.com.cn/adat/sk/101240701.h ...
- 简单json 转换为 map、对象
1.如果转换的是Map.或者是简单的对象 package com.gc.action; import java.util.Map; import net.sf.json.JSONObject; /** ...
- Android与Struts2简单json通信
具体要求是: 服务器端得到客户端传递来的数据,并返回给客户端一条json格式的字符串 闲话不多说,直接上代码 首先是服务器端代码:建立一个web工程,导入struts2和json的jar包,并在web ...
- 简单json语句转化为map保存
主要用到了 net.sf.json.JSONObject类 需要用到的jar包 : jar包下载地址 package test; import java.io.BufferedReader; impo ...
- 一个简单json数据提交实例
1.客户端编程:jsp页面 <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- 简单Json序列化和反序列化
序列化是什么: 序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得.序列化分为两大部分:序列化和反序列化.序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络 ...
- 【Newtonsoft.Json.dll】操作简单JSON数据
{ //json数据 string json = "{\"name\":\"张三\",\"sex\":\"男\" ...
- oracle split 以及 简单json解析存储过程
BEGIN; 由于之前工作上需要在oracle中做split功能以及json格分解.然后经过一番google和优化整合,最后整理到一个存储过程包中,易于管理,代码如下: 1.包定义: CREATE O ...
- javascript入门 之 ztree(三 简单json数据)
<!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - Standard Data </TITLE& ...
随机推荐
- PowerBuilder学习笔记之2PowerScript语言(一)
教材链接:https://wenku.baidu.com/view/1e82d26925c52cc58ad6be05.html?sxts=1565679996440 2.1PowerScript基础 ...
- GoldenDict(for Linux)配置无道词典
引言 我原来写过一篇博客:(离线)英语词典软件推荐,个人比较喜欢的就是GoldenDict词典.不仅仅是因为它是免费开源的多平台程序,更重要的是支持丰富的原版词典(下文给出了下载链接).本文主要针对其 ...
- SpringBoot中使用@scheduled定时执行任务需要注意的坑
spring boot: 计划任务@ EnableScheduling和@Scheduled @Scheduled中的参数说明 @Scheduled(fixedRate=2000):上一次开始执行时间 ...
- 自定义 Windows 右键菜单项
注:本文涉及到注册表操作,不认识请不要随意修改! 右键菜单项储存在注册表 HKEY_CLASSES_ROOT 中,一般各种程序的右键菜单项都可以在此项下面找到: 添加右键菜单项 右键单击 shell, ...
- English--consonant_摩擦音
consonant_摩擦音_[f]和[v].[s]和[z].[∫]和[ʒ] 摩擦音:理论上可以无限延长气流. [f]:噘嘴,上牙咬住下唇,送气,通过气流摩擦发音,声带不震动.knife.food.le ...
- zynq7020开发板+ Z-turn调试计划
参加米尔zynq7020开发板试用活动. 收到米尔z-turn板子后,焊接了一个JTAG转接板,以方便调试PL部分,对于后面的调试部分,主要分三个部分走:1.调试FPGA部分,实现逻辑控制外围简单的设 ...
- 使用node写爬虫入门
最近看了node能做爬虫,所以就试了一下,一下是整个过程的记录 1.新建文件夹baidunews 2.在上边新建的文件夹下输入npm init进行初始化 3.初始化完成后下载需要的依赖包 npm in ...
- 解决javaScript在不同时区new Date()显示值不同问题
在日期格式化时遇到的问题,日期格式化方法在最下面 如果在中国时区 formatDate('2019-07-09') 结果是 ‘2019-07-09’ 如果 在夏威夷时区 utc-10:00 或 ...
- Ubuntu 下搭建VNC服务器
Ubuntu 18.04 搭建VNC服务器https://www.jianshu.com/p/f58fe5cdeb5f ubuntu16.04 vncserver配置https://blog.csdn ...
- 1 Dalvik和Java虚拟机
Dalvik虚拟机特点: 1. 体积小 2. DEX格式可执行文件,相比java运行速度快 3. 常量池采用32位索引值 4. 提供对象生命周期,堆栈,线程,权限,异常等管理 5. Andr ...