解决方法:SerializerFeature.DisableCircularReferenceDetect
JSON.toJSONString(result,SerializerFeature.DisableCircularReferenceDetect)
/* * Project: DemoJava * * File Created at 2017年5月23日 * * Copyright 2016 CMCC Corporation Limited. * All rights reserved. * * This software is the confidential and proprietary information of * curiousby Company. ("Confidential Information"). You shall not * disclose such Confidential Information and shall use it only in * accordance with the terms of the license. */ package com.curiousby.fastjson; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; /** * @Type FastjsonTest.java * @Desc * @author baoyou curiousby@163.com * @date 2017年5月23日 上午11:01:21 * @version */ public class FastjsonTest { public static void main(String[] args) { FastJsonEntity entity = new FastJsonEntity(1,"baoyou","hello"); FastResultEnity result = new FastResultEnity(); result.setLast(entity); List<FastJsonEntity> list = new ArrayList<>(); list.add(entity); result.setHistory(list); System.out.println(JSON.toJSONString(result)); System.out.println(JSON.toJSONString(result,SerializerFeature.DisableCircularReferenceDetect)); } } class FastResultEnity{ private FastJsonEntity last; private List<FastJsonEntity> history; public FastJsonEntity getLast() { return last; } public List<FastJsonEntity> getHistory() { return history; } public void setLast(FastJsonEntity last) { this.last = last; } public void setHistory(List<FastJsonEntity> history) { this.history = history; } } class FastJsonEntity{ private int id; private String name; private String description; public int getId() { return id; } public String getName() { return name; } public String getDescription() { return description; } public void setId(int id) { this.id = id; } public void setName(String name) { this.name = name; } public void setDescription(String description) { this.description = description; } public FastJsonEntity(){} public FastJsonEntity(int id, String name, String description) { this.id = id; this.name = name; this.description = description; } } /** * Revision history * ------------------------------------------------------------------------- * * Date Author Note * ------------------------------------------------------------------------- * 2017年5月23日 baoyou curiousby@163.com creat */
test
{"history":[{"description":"hello","id":1,"name":"baoyou"}],"last":{"$ref":"$.history[0]"}} {"history":[{"description":"hello","id":1,"name":"baoyou"}],"last":{"description":"hello","id":1,"name":"baoyou"}}
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(支持支付宝和微信 以及扣扣群),没钱捧个人场,谢谢各位。
个人主页:http://knight-black-bob.iteye.com/
谢谢您的赞助,我会做的更好!
相关推荐
当项目中使用了fastjson框架转换json字符串后,默认情况下会有$ref这样的引用方式。 如果不使用此引用,在重复嵌套时,可能会耗尽系统资源。 但是如果启用的话,在页面js中又无法正常使用。 现只需要引入此js文件,...
**Fastjson的安全问题** 然而,Fastjson在1.2.47及其之前的版本中存在一些安全漏洞。这些漏洞可能导致远程代码执行(RCE)攻击,对系统安全构成严重威胁。RCE漏洞允许攻击者通过恶意构造的JSON数据,使得Fastjson...
在使用FastJson进行对象序列化成JSON字符串时,可能会遇到“$ref重复引用”的问题,这是由于FastJson在进行序列化过程中,为了优化性能和内存使用,会把相同的对象引用只序列化一次,并通过特殊的引用标签(如$ref)...
《FastJsonJar:Java开发中的高效JSON处理库》 FastJsonJar,正如其名,是一个专为Java开发者设计的高效JSON解析和生成工具。在现代Web服务和移动应用开发中,JSON作为数据交换格式,其使用频率之高不言而喻。...
5. **流式解析**:提供流式解析和生成,适合处理大文件,避免内存溢出问题。 三、Fastjson使用示例 1. **JSON字符串转Java对象** ```java String jsonString = "{\"name\":\"张三\",\"age\":25}"; Person person ...
《深入解析Fastjson 1.2.66版本》 Fastjson是阿里巴巴开源的一个高性能的JSON库,它在Java世界中被广泛使用,为开发者提供了快速、方便地处理JSON数据的能力。Fastjson 1.2.66是该库的一个稳定版本,其核心功能包括...
**FastJson:一个高效、强大的Java JSON库** FastJson是阿里巴巴开源的一款高性能的JSON库,它主要用于Java对象与JSON字符串之间的转换。在这个小例子中,我们将深入探讨FastJson的使用方法,以及它如何帮助开发者...
在Android开发中,数据交换和序列化是常见的需求,FastJSON是阿里巴巴提供的一款高效、功能丰富的JSON库,它被广泛应用于Android Studio项目中。本文将详细介绍如何在Android Studio中使用FastJSON进行JSON解析和...
fastjson-1.1.35.jar ,fastjson-1.1.36.jar ,fastjson-1.1.37.jar ,fastjson-1.1.44.jar ,fastjson-1.2.3.jar,fastjson-1.2.4.jar
FastJSON是阿里巴巴开发的一款高效的Java JSON库,它在处理JSON数据方面表现卓越,因其轻量级、快速且功能丰富的特性而备受青睐。标题中的"fastjson1.2.2版本.jar"指的是FastJSON库的1.2.2版本的Java Archive(JAR)...
阿里Fastjson是一个高性能的Java JSON库,由阿里巴巴公司开发并维护。它被广泛应用于各种Java项目中,尤其在数据解析和序列化方面表现卓越。Fastjson的命名来源于"Fast Java Object to JSON",即快速地将Java对象...
- **安全性**:在1.2.38版本中,Fastjson对安全问题进行了修复,提升了框架的安全性,例如对JSON注入的防护。 总的来说,Fastjson-1.2.38作为一个成熟的JSON处理工具,为Java开发者提供了高效、便捷的JSON操作方案...
5. **安全增强**: 针对 JSON 注入等安全问题,Fastjson 提供了安全模式,可以防止恶意数据注入。 综上所述,Fastjson 是一个强大且易用的 JSON 解析工具,广泛应用于各种 Java 项目中。其高效的性能、丰富的功能...
- **安全性**:Fastjson 一直关注安全性问题,如 SQL 注入、跨站脚本攻击等,并定期发布更新来修复已知的安全漏洞。 **应用场景** Fastjson 广泛应用于各种场景,包括但不限于: - Web 服务端:用于处理 JSON 格式...
赠送jar包:fastjson-1.2.54.jar; 赠送原API文档:fastjson-1.2.54-javadoc.jar; 赠送源代码:fastjson-1.2.54-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.54.pom; 包含翻译后的API文档:fastjson-...
赠送jar包:fastjson-1.2.51.jar; 赠送原API文档:fastjson-1.2.51-javadoc.jar; 赠送源代码:fastjson-1.2.51-sources.jar; 赠送Maven依赖信息文件:fastjson-1.2.51.pom; 包含翻译后的API文档:fastjson-...
对于想要对Fastjson进行扩展或者遇到问题需要追踪源码的人来说,这个文件是不可或缺的资源。 在Fastjson-1.2.9版本中,有一些值得注意的特性: 1. **性能优化**:Fastjson一直以其高性能著称,1.2.9版本中可能包含...
fastjson-1.2.31的官方jar包合集【fastjson-1.2.31.jar,fastjson-1.2.31-sources.jar,fastjson-1.2.31-sources.jar】,还包括源码source,和文档。
标题中的“fastjson定制工程,别名配置化”指的是对Fastjson库的扩展,使其能够支持动态配置字段别名,而不是像原生Fastjson那样只能硬编码(hardcode)在代码中。这样的改进对于处理与第三方接口交互时,字段名称...
6. **安全性**:考虑到JSON注入攻击的威胁,Fastjson提供了安全模式,可以防止恶意的JSON数据导致的安全问题。例如,通过设置`parseConfig.setSafeMode(true)`,可以开启安全模式。 7. **兼容性**:Fastjson兼容...