简单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& ...
随机推荐
- FastReport 程序员手册
一.使用TfrxReport 组件工作1.加载并存储报表默认情况下,报表窗体同项目窗体构存储在同一个DFM文件中.多数情况下,无须再操作,因而你就不必采用特殊方法加载报表.如果你决定在文件中存储报表窗 ...
- C++动态规划求解0-1背包问题
问题描述: 给定n种物品和一背包.物品i的重量是wi,其价值为vi,背包的容量为C.问:应该如何选择装入背包的物品,是的装入背包中物品的总价值最大? 细节须知: 暂无. 算法原理: a.最优子结构性质 ...
- scratch教程:学做控制类积木
少儿编程中scratch很容易被小孩所接受,不管是从外观还是教程中,都符合少儿的兴趣,为此现在只要是开少儿编程课都会有scratch课程,今天娜娜姐小码王scratch培训机构就为大家分享,scrat ...
- Vue项目(vuecli3.0搭建)集成高德地图实现路线轨迹绘制
先看最后实现的效果图 高德地图api文档 https://lbs.amap.com/api/javascript-api/summary 使用 1.在index.html里面引入高德地图js文件 2. ...
- kubectl 创建 Pod 背后到底发生了什么?
原文链接:kubectl 创建 Pod 背后到底发生了什么? 想象一下,如果我想将 nginx 部署到 Kubernetes 集群,我可能会在终端中输入类似这样的命令: $ kubectl run - ...
- webbrowser实现一个进程一个代理的办法
public static void RefreshIESettings(string strProxy) { const int INTERNET_OPTION_PROXY = 38; const ...
- SetWindowLong函数GetWindowLong函数
这两个函数具体应用如下:SetWindowLong函数GetWindowLong函数 Delphi窗口化游戏 var Thwnd:HWND;//声明变量 句柄变量 devmodel1:DEVMODE; ...
- 利用Properties属性集结合类加载器读取配置文件
配置文件test.properties a=123 测试类Demo1.java public class Demo1 { public static void main(String[] args) ...
- Java自学-面向对象 属性
Java类的属性 一个英雄有姓名,血量,护甲等等状态 这些状态就叫做一个类的属性 步骤 1 : 属性的类型 属性的类型可以是基本类型,比如int整数,float 浮点数 也可以是类类型,比如Strin ...
- 【开发笔记】-MySQL数据库5.7+版本,编码格式设置
原因 昨天不小心把数据库搞崩了,重装了5.7.27版本得mysql数据库,在安装过程中并没有设置数据库默认编码格式等操作.在把项目启动后,jpa自动创建表结构,会把数据库,表,字段的编码自动设置为IS ...