jQuery MiniUI

 找回密码
 立即注册
查看: 2718|回复: 4
打印 上一主题 下一主题

form的setData方法中的json字符串格式问题 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2014-4-8 14:59:46 |只看该作者 |倒序浏览
修改界面在对form进行赋值时,我如果用gson转换的就可以正常显示,因为gson转换的时候如果结果集只有一个对象时,两端是不会加上[]的,但是json包转换时还是会加上[],这时就不能正常显示了。
数据对比:[{"actionUrl":"","guid":"79df43da-d662-450c-b48f-6f6479f27b96","modleId":"root","modleName":"全部","parentModleId":""}]
{"actionUrl":"","guid":"79df43da-d662-450c-b48f-6f6479f27b96","modleId":"root","modleName":"全部","parentModleId":""}

大神能给解释一下是这么回事吗

Rank: 8Rank: 8

沙发
发表于 2014-4-8 15:28:17 |只看该作者
带[],说明你的数据原来是一个数组,{}是一个对象

json的序列化和反序列化不会乱转你的数据格式的, 不会说对象转成数组,数组转成对象. 只会你原来是什么数据格式,最后得到也是什么格式的.

你检查下你的代码,是不是你的数据上格式被改了,或者比如在前台,o是一个对象, 但是你mini.encode([o]),这样给外面套了一个[],那么就最终成了数组了,带[]

Rank: 1

板凳
发表于 2014-4-8 15:48:40 |只看该作者
factory 发表于 2014-4-8 15:28
带[],说明你的数据原来是一个数组,{}是一个对象

json的序列化和反序列化不会乱转你的数据格式的, 不会说对 ...

[{"actionUrl":"","guid":"79df43da-d662-450c-b48f-6f6479f27b96","modleId":"root","modleName":"全部","parentModleId":""}]
{"actionUrl":"","guid":"79df43da-d662-450c-b48f-6f6479f27b96","modleId":"root","modleName":"全部","parentModleId":""}
这两种形式是我分别用json的jar包转换和gson的jar包转换一个单独对象的结果,也就是说gson转换的时候对于一个对象不会转化成数组,但是数据格式都没有问题啊,我想问的是  是不是在form进行setData的时候只可以进行单个对象数据的显示,或者源码中没有对数组进行遍历的操作,直接i强制性的定义成一个对象了

Rank: 8Rank: 8

地板
发表于 2014-4-8 16:07:37 |只看该作者
xiaohuashenshou 发表于 2014-4-8 15:48
[{"actionUrl":"","guid":"79df43da-d662-450c-b48f-6f6479f27b96","modleId":"root","modleName":"全部" ...

form的setData()接收的是一个对象

不是一个数组

如果带了[]

你在setData()的时候  form.setData(data[0]),获取下里面的对象就行了

Rank: 1

5#
发表于 2014-4-8 16:11:00 |只看该作者
factory 发表于 2014-4-8 16:07
form的setData()接收的是一个对象

不是一个数组

哦,知道了,3q

Archiver|普加软件

GMT+8, 2024-9-29 11:41 , Processed in 1.064288 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部