简单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& ...
随机推荐
- JS异步操作概述(转)
add by zhj: 只转载了一部分.异步操作的三种模式未转载,因为里面代码比较多,复制过来麻烦 原文:https://wangdoc.com/javascript/async/general.ht ...
- SQL Server的唯一键和唯一索引会将空值(NULL)也算作重复值
我们先在SQL Server数据库中,建立一张Students表: CREATE TABLE [dbo].[Students]( ,) NOT NULL, ) NULL, ) NULL, [Age] ...
- Stopwatch 类用于计算程序运行时间
Stopwatch 类 命名空间:System.Diagnostics.Stopwatch 实例化:Stopwatch getTime=new Stopwatch(); 开始计时:getTime.St ...
- C++之拷贝控制 (Copy Control)
只有2种成员 值成员: 指针成员: 依实现可分为raw pointer / shared_ptr; 现在,仅考虑第③种:资源对象共享 角度来考虑拷贝控制 类的两种语义:值语义.似指针 编译器提供的de ...
- 2019 游族网络java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.游族网络等公司offer,岗位是Java后端开发,因为发展原因最终选择去了游族网络,入职一年时间了,也成为了面 ...
- Netty入门系列(1) --使用Netty搭建服务端和客户端
引言 前面我们介绍了网络一些基本的概念,虽然说这些很难吧,但是至少要做到理解吧.有了之前的基础,我们来正式揭开Netty这神秘的面纱就会简单很多. 服务端 public class PrintServ ...
- vue条形码生成插件vue-barcode
更详细的请查阅官方文档 https://github.com/lindell/vue-barcode vue-barcode是JsBarcode的一个简单包装.所以在使用时的配置属性需要在JsBarc ...
- 金融finaunce财经
金融 (经济学术语) 金融是货币资金融通的总称.主要指与货币流通和银行信用相关的各种活动.主要内容包括: 货币的发行.投放.流通和回笼:各种存款的吸收和提取:各项贷款的发放和收回:银行会计.出纳.转账 ...
- PHP公众号开发给用户发微信消息提醒功能
最近做的一个项目,当有用户有资金到账或者成员变动时需要给他发一条微信消息提示.针对这个,开始想使用模板消息,但是刚注册的公众号申请消息模板需要几天时间申请,在时间不足下选择了使用客服消息接口,微信文档 ...
- SpringBoot2.x搭建SpringBootAdmin2.x
1 说明 全部配置基于1.8.0_111 当前SpringBoot使用2.0.5 SpringBootAdmin基于Eureka进行Client发现,Eureka搭建参见SpringBoot2.x搭建 ...