`
knight_black_bob
  • 浏览: 857972 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

fastjson tostring ref 问题

    博客分类:
  • java
阅读更多

 

 解决方法: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/



 
 
 谢谢您的赞助,我会做的更好!

0
1
分享到:
评论

相关推荐

    FastJson处理$ref的js类库 FastJson-1.0.min.js

    当项目中使用了fastjson框架转换json字符串后,默认情况下会有$ref这样的引用方式。 如果不使用此引用,在重复嵌套时,可能会耗尽系统资源。 但是如果启用的话,在页面js中又无法正常使用。 现只需要引入此js文件,...

    Fastjson1.2.47以及之前的所有版本

    **Fastjson的安全问题** 然而,Fastjson在1.2.47及其之前的版本中存在一些安全漏洞。这些漏洞可能导致远程代码执行(RCE)攻击,对系统安全构成严重威胁。RCE漏洞允许攻击者通过恶意构造的JSON数据,使得Fastjson...

    解决FastJson中"$ref重复引用"的问题方法

    在使用FastJson进行对象序列化成JSON字符串时,可能会遇到“$ref重复引用”的问题,这是由于FastJson在进行序列化过程中,为了优化性能和内存使用,会把相同的对象引用只序列化一次,并通过特殊的引用标签(如$ref)...

    FastJsonJar

    《FastJsonJar:Java开发中的高效JSON处理库》 FastJsonJar,正如其名,是一个专为Java开发者设计的高效JSON解析和生成工具。在现代Web服务和移动应用开发中,JSON作为数据交换格式,其使用频率之高不言而喻。...

    fastjson1.2.2.jar

    5. **流式解析**:提供流式解析和生成,适合处理大文件,避免内存溢出问题。 三、Fastjson使用示例 1. **JSON字符串转Java对象** ```java String jsonString = "{\"name\":\"张三\",\"age\":25}"; Person person ...

    fastjson-1.2.66_fastjson-1.2.66.jar_Fastjson_

    《深入解析Fastjson 1.2.66版本》 Fastjson是阿里巴巴开源的一个高性能的JSON库,它在Java世界中被广泛使用,为开发者提供了快速、方便地处理JSON数据的能力。Fastjson 1.2.66是该库的一个稳定版本,其核心功能包括...

    fastjson的一个小例子

    **FastJson:一个高效、强大的Java JSON库** FastJson是阿里巴巴开源的一款高性能的JSON库,它主要用于Java对象与JSON字符串之间的转换。在这个小例子中,我们将深入探讨FastJson的使用方法,以及它如何帮助开发者...

    Android FastJSON小示例

    在Android开发中,数据交换和序列化是常见的需求,FastJSON是阿里巴巴提供的一款高效、功能丰富的JSON库,它被广泛应用于Android Studio项目中。本文将详细介绍如何在Android Studio中使用FastJSON进行JSON解析和...

    fastjson 各个 版本 jar

    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

    fastjson1.2.2版本.jar

    FastJSON是阿里巴巴开发的一款高效的Java JSON库,它在处理JSON数据方面表现卓越,因其轻量级、快速且功能丰富的特性而备受青睐。标题中的"fastjson1.2.2版本.jar"指的是FastJSON库的1.2.2版本的Java Archive(JAR)...

    阿里fastjson.jar

    阿里Fastjson是一个高性能的Java JSON库,由阿里巴巴公司开发并维护。它被广泛应用于各种Java项目中,尤其在数据解析和序列化方面表现卓越。Fastjson的命名来源于"Fast Java Object to JSON",即快速地将Java对象...

    fastjson-1.2.38的jar包

    - **安全性**:在1.2.38版本中,Fastjson对安全问题进行了修复,提升了框架的安全性,例如对JSON注入的防护。 总的来说,Fastjson-1.2.38作为一个成熟的JSON处理工具,为Java开发者提供了高效、便捷的JSON操作方案...

    fastjson-1.2.9.jar.zip

    5. **安全增强**: 针对 JSON 注入等安全问题,Fastjson 提供了安全模式,可以防止恶意数据注入。 综上所述,Fastjson 是一个强大且易用的 JSON 解析工具,广泛应用于各种 Java 项目中。其高效的性能、丰富的功能...

    fastjson1.2.2.rar

    - **安全性**:Fastjson 一直关注安全性问题,如 SQL 注入、跨站脚本攻击等,并定期发布更新来修复已知的安全漏洞。 **应用场景** Fastjson 广泛应用于各种场景,包括但不限于: - Web 服务端:用于处理 JSON 格式...

    fastjson-1.2.54-API文档-中文版.zip

    赠送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-...

    fastjson-1.2.51-API文档-中文版.zip

    赠送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-1.2.9

    对于想要对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的官方jar包合集【fastjson-1.2.31.jar,fastjson-1.2.31-sources.jar,fastjson-1.2.31-sources.jar】,还包括源码source,和文档。

    fastjson定制工程,别名配置化

    标题中的“fastjson定制工程,别名配置化”指的是对Fastjson库的扩展,使其能够支持动态配置字段别名,而不是像原生Fastjson那样只能硬编码(hardcode)在代码中。这样的改进对于处理与第三方接口交互时,字段名称...

    fastJson依赖jar包

    6. **安全性**:考虑到JSON注入攻击的威胁,Fastjson提供了安全模式,可以防止恶意的JSON数据导致的安全问题。例如,通过设置`parseConfig.setSafeMode(true)`,可以开启安全模式。 7. **兼容性**:Fastjson兼容...

Global site tag (gtag.js) - Google Analytics