认识json,详解JsonConfig
说到json 初学者很迷茫,不知json怎么为何物,以及怎么用。我简单说下我的了解
既然用了json 我们就要知其然也知其所以然。下面有几个疑问
1.为什么要用json?也就是json 的优势
2.我们平时说的json 字符串和json对象的区别是什么?
3.为什么前后台广泛用json来传递数据?
答:1. 既然用json 肯定是为了方便使用,那么方便谁使用,JSON的全称是”JavaScript Object Notation” 那肯定是方便前端使用。
后端有类,类里面有属性,比如类A
public class A{
private String name;
private int age;
}
它有两个属性,通过A.name 就可以得到A的name 很方便,那么我想在前端也用到这个属性啊,这样json字符串和json对象就产生了。
2、3. 用字符串为了前后台传递数据方便,用对象是为了前端使用方便
举例子
String字符串: var str1 = '{ "name": "cxh", "sex": "man" }';
JSON对象:var str2 = { "name": "cxh", "sex": "man" };
既然有json对象了那么还为什么需要json字符串呢? json字符串是为了在前后台方便传输用的,这也就是json逐渐代替xml 进行传输的原因,它几乎没有任何标记,前端接到后处理也很方便。
(1) JSON.parse() 方法将数据转换为 JavaScript 对象。
例如我们从服务器接收了以下数据:{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }
我们使用 JSON.parse() 方法处理以上数据,将其转换为 JavaScript 对象:var obj = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');
转换过后我们可以通过obj.name 获取里面的值。
(2)我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。
例如我们向服务器发送以下数据:
我们使用 JSON.stringify() 方法处理以上数据,将其转换为字符串:var myJSON = JSON.stringify(obj);
myJSON 为字符串。
我们可以将 myJSON 发送到服务器:通过ajax发送到后端
ajax的 dataType 属性的作用

ajax的dataType属性,我一直以为是为了约束"发送给服务器的data"的数据类型的,今天再一看,原来是为了约束服务器的返回值类型,而data的数据类型ajax定死了为Object或String... ...
2018年4月17日,一直以来用json 返回数据时偶尔会遇到 There is a cycle in the hierarchy !!这个讨厌的问题。
也就是类与类之间在互相引用的时候,返回前台解析的时候会报错。借鉴 Ha_Pipi的博客
JsonConfig jsonConfig = new JsonConfig(); //建立配置文件
jsonConfig.setExcludes(new String[]{"shiffb"}); //此处是亮点,只要将所需忽略字段加到数组中即可
jsonConfig.setIgnoreDefaultExcludes(false); //设置默认忽略
jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
jsona.addAll(list, jsonConfig);
能够完美解决。留下一个疑问,DTO的目的是不是就是为了解决这个问题的呢??
认识json,详解JsonConfig的更多相关文章
- JSON详解(转)
JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格 ...
- JSON详解(转载)
JSON详解 阅读目录 JSON的两种结构 认识JSON字符串 在JS中如何使用JSON 在.NET中如何使用JSON 总结 JSON的全称是”JavaScript Object Notation”, ...
- javaScript系列:JSON详解
JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交 ...
- Spring Boot 之使用 Json 详解
Spring Boot 之使用 Json 详解 简介 Spring Boot 支持的 Json 库 Spring Web 中的序列化.反序列化 指定类的 Json 序列化.反序列化 @JsonTest ...
- 问题:JsonConvert;结果:JSON详解
JSON详解 JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格 ...
- JSON详解+ C# String.Format格式说明+ C# ListView用法详解 很完整
JSON详解 C# String.Format格式说明 C# ListView用法详解 很完整
- c++ json 详解
一. 使用jsoncpp解析json Jsoncpp是个跨平台的开源库,首先从http://jsoncpp.sourceforge.net/上下载jsoncpp库源码,我下载的是v0.5.0,压缩包大 ...
- cookie、json详解
什么是cookie 1.cookie是存储于访问者计算机中的变量2.cookie是浏览器提供的一种机制3.可以由js控制(设置.读取.删除)4.cookie可以实现跨页面全局变量可以跨越同域名下多个网 ...
- JSON详解
首先要知道JSON是一种轻量级的数据格式,不是一种编程语言,因此其他语言也可以使用. 一.JSON语法 JSON语法可以表现为下面三种值: 1.简单值:字符串.数值.布尔值和null,如"h ...
随机推荐
- shell脚本中执行sql命令
1.mysql 数据库表信息 2.shell脚本(a.sh)信息 #!/bin/sh mysql -u root << myInsert insert into test.t values ...
- Chrome 浏览器新功能:共享剪贴板
导读 Chrome 79 在桌面版和 Android 版浏览器中添加了一项新的功能,名为“共享剪贴板”(shared clipboard). 简单来说,就是可以实现在电脑端复制,手机端粘贴.有了这项功 ...
- kafka 高吞吐量的因素
1.顺序的方式存储数据: 2.批量发送: 3.零拷贝: 来源:咕泡学院
- #P1099 树网的核 题解
题目描述 pdf 题解 这一题,刚开始看题目感觉好像很难,题目又长……一看数据范围,呵呵. 已经给出来这是个DAG,所以不用担心连通性的问题.那么怎么做呢? 朴素的做法是把树的直径的两个端点都统计出来 ...
- Redis有序集合类型
命令 增加元素 ZADD score member [score member ...] > ZADD scoreboard 89 Tom 76 Peter 100 David (integer ...
- ADV-299 宰羊 (java,过了30%)
问题描述 炫炫回了内蒙,肯定要吃羊肉啦,所有他家要宰羊吃. 炫炫家有N只羊,羊圈排成一排,标号1~N.炫炫每天吃掉一只羊(这食量!其实是放生啦),吃掉的羊的邻居会以为它被放生了,然后又会告诉他们的邻居 ...
- Day10 - C - Blow up the city HDU - 6604
Country A and B are at war. Country A needs to organize transport teams to deliver supplies toward s ...
- Day1-Luogu-2085
题目描述 有n个函数,分别为F1,F2,...,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个 ...
- php 实现店铺装修3
/** * @title 装修店铺 * @param plate_id 是 int 店铺装修样式ID * @param type 是 int 模板样式子板块类型(4-海景.6-二宫格.8-三宫格.9- ...
- Data Cleaning_Chicago Air-quality Case_TBC!!!