java对象转json应clone,避免生成json串有问题
今天因为一个java对象转json,搞了我一下午,在些记录一下:
是这样:我在strtuts2的action中调用services返回
Row: 26, 中国银行海鹰, 29, 东楼, 36, 1F
Row: 26, 中国银行海鹰, 32, 西楼, 44, 3F
Row: 27, 中国银行黑山扈, 31, 控制楼, 37, 1F
Row: 27, 中国银行黑山扈, 31, 控制楼, 42, 2F
Row: 27, 中国银行黑山扈, 31, 控制楼, 43, 3F
Row: 27, 中国银行黑山扈, 31, 控制楼, 46, 4F
Row: 27, 中国银行黑山扈, 33, 综合楼, 35, 1F
Row: 27, 中国银行黑山扈, 33, 综合楼, 39, 2F
Row: 27, 中国银行黑山扈, 33, 综合楼, 45, 3F
Row: 27, 中国银行黑山扈, 33, 综合楼, 47, 4F
我要对这结构进行了封装,就是Node,最后前台要生成树:Node里所有属性,还有List<Node>也就是树结构
园区 > 建筑 > 楼层
一开始我是通过引用,组成的结构是对的(debug),可返回到前台的json的结构总是不对,最后才发现json生成是通过对象生成的
而我结构是重复引用同一个对象,所以生成肯定不对,最后我不用引用,我在组织结构时,clone一下生成json就对了。
不明白生成json为什么非得不同对象。
java对象转json应clone,避免生成json串有问题的更多相关文章
- java对象中含有Integer类型字段转json字符串问题
问题:对于含有Integer类型字段的java对象,在通过下面这种方式转为json字符串时,Integer类型的字段如果为空的情况下,会默认转化为0,但是我想让它为空的时候直接转化为null,不要默认 ...
- 测试json字符和java对象属性不一样在多个json框架下转换的表现
package com.longge.mytest; import java.io.IOException; import org.junit.Test; import com.alibaba.fas ...
- 如何使用fastJson来解析JSON格式数据和生成JSON格式数据
由于项目用到了JSON格式的数据,在网上搜索到了阿里的fastjson比较好用,特此记录fastjson用法,以备以后查询之用. decode: 首先创建一个JSON解析类: public class ...
- jackson java对象和json对象的互相转换
概述 Jackson框架是基于Java平台的一套数据处理工具,被称为“最好的Java Json解析器”. Jackson框架包含了3个核心库:streaming,databind,annotation ...
- json相关类库,java对象与json相互转换
有效选择七个关于Java的JSON开源类库 转自:http://www.open-open.com/lib/view/open1397870197828.html 翻译: (英语原文:http://w ...
- JSon_零基础_006_将JSon格式的字符串转换为Java对象
需求: 将JSon格式的字符串转换为Java对象. 应用此技术从一个json对象字符串格式中得到一个java对应的对象. JSONObject是一个“name.values”集合, 通过get(key ...
- json对象和java对象的相互转换方法(json-lib、jackson、fastjson、gson)
一 使用json-lib包下的JSONObject和JSONArray转换 代码如下: package com.test.test; import java.util.ArrayList; impor ...
- Android原生生成JSON与解析JSON
JSON数据是一种轻量级的数据交换格式,在Android中通常应用于client与server交互之间的传输数据.像如今在网上有非常多解析JSON数据的jar包,可是归根究竟用的都是Android原生 ...
- 《精通Hibernate:Java对象持久化技术详解》目录
图书信息:孙卫琴 电子工业出版社 第1章 Java应用分层架构及软件模型: 1.1 应用程序的分层体系结构 1.1.1 区分物理层和逻辑层 1.1.2 软件层的特征 1.1.3 软件分层的优点 1.1 ...
随机推荐
- Django的安装配置和开发
参考:<Django Web开发指南> Django的安装配置 1.https://www.djangoproject.com/download/下载Django-1.5.1.tar.gz ...
- oracle数据库时间转换
select * from TAB where 时间 BETWEEN to_date('2011-02-01 22:03:40','yyyy-mm-dd hh24:mi:ss') and to_dat ...
- PHP 表单验证 - 必填字段
-------------------------------------------------------------------------- 本节展示如何制作必填输入字段,并创建需要时所用的错 ...
- JavaScript 轮播图
这是我自己做的一个轮播图,大家可以看看 ,我还没进行优化.有改进的地方可以私聊 布局什么的你们自己搞定吧 <div class="slider" id="circl ...
- Java算法简介及排序剖析
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 从小白晋升,一路走来:从helloworld,到JFrame,再到Android:从城外小子,到内城 ...
- MyEclipse 注册码
MyEclipse 注册码和大家共享一下! 一:MyEclipse_6.0.1GA_E3.3.1_FullStackInstaller注册码 Subscriber:javp Subscription ...
- windows下搭建及配置mantis缺陷管理工具
在windows XP 操作系统下,如何更快.更容易地搭建及配置mantis缺陷管理工具呢?以下是我实践的具体步骤: 一.安装mantis的前提环境,需要先安装Apache HTTP Server2. ...
- CSS入门教程——定位(positon)
CSS入门教程——定位(positon) CSS定位在网页布局中是起着决定性作用. 定位 CSS的定位功能是很强大的,利用它你可以做出各种各样的网页布局.本节就介绍一些CSS常用的定位语句. 1. ...
- SSCTF Final PWN
比赛过去了两个月了,抽出时间,将当时的PWN给总结一下. 和线上塞的题的背景一样,只不过洞不一样了.Checksec一样,发现各种防护措施都开了. 程序模拟了简单的堆的管理,以及cookie的保护机制 ...
- js 行列操作
function insertRow() { var tbl = document.getElementById("tbCarModel"); var rowLen = tbl.c ...