递归火山软件开发平台

标题: 为火山添砖加瓦 - JSON库 [打印本页]

作者: Ewangl    时间: 2021-5-15 23:40
标题: 为火山添砖加瓦 - JSON库
本帖最后由 Ewangl 于 2021-5-18 17:33 编辑

说明:
库未系统性测试。测试留给使用者,作为懒人的我,不喜欢无聊的测试过程。非常抱歉,并未给函数备注。其实看看就懂。
调用方式:
注意!这是修改后的!多了两个方法,用于初始化及销毁!
(, 下载次数: 120)

下载:
(用户组无法上次这么小文件) (, 下载次数: 6)
(, 下载次数: 6)
(, 下载次数: 5)
(, 下载次数: 5)
分包压缩,分包扩展名去掉.zip!



作者: 伟业    时间: 2021-5-16 00:33
菜鸟来顶贴
作者: 小蜗牛    时间: 2021-5-16 01:01
很奇怪,安装后,并没有看到类库
作者: Ewangl    时间: 2021-5-16 01:33
小蜗牛 发表于 2021-5-16 01:01
很奇怪,安装后,并没有看到类库

抱歉,没注意,打包忘记选择类型了(默认),已经重新上传。
作者: 大强    时间: 2021-5-16 10:40
厉害,学习
作者: hmyroot    时间: 2021-5-16 10:42
命令名称取得不错,有规律性,可以快速定位用到的功能
作者: 创世魂    时间: 2021-5-16 12:22
可以可以很强大
作者: htpmcj    时间: 2021-5-16 12:43
这个和系统自带的如何,有谁测试过?
作者: Xelloss0618    时间: 2021-5-16 16:36
htpmcj 发表于 2021-5-16 12:43
这个和系统自带的如何,有谁测试过?

看了下,都是jsoncpp,只不过是使用方法封装得不一样而已
作者: a870840081    时间: 2021-5-17 01:21
htpmcj 发表于 2021-5-16 12:43
这个和系统自带的如何,有谁测试过?

鸡毛系统自带的 会崩溃 我试试这个
作者: amwji    时间: 2021-5-17 13:18
学习学习
作者: a870840081    时间: 2021-5-17 21:41
a870840081 发表于 2021-5-17 01:21
鸡毛系统自带的 会崩溃 我试试这个

以为库问题 我json文本毡包了 哎!菜逼打脸啊
作者: shuimiao    时间: 2021-5-17 23:24
请教下,json.节点() 返回的json类,好像火山默认是拷贝一份新的json类,而不是参考原先的json类吧

如果返回的是拷贝,那对拷贝的修改,不就无法影响原先json类吗?如果楼主返回的是参考,那请教是如何实现的,我看了代码,最后就一个 返回(本对象)。假如要返回json类的一个嵌套子json类该如何实现参考返回?
作者: Ewangl    时间: 2021-5-18 01:03
shuimiao 发表于 2021-5-17 23:24
请教下,json.节点() 返回的json类,好像火山默认是拷贝一份新的json类,而不是参考原先的json类吧

如果返 ...

返回的是本类引用(源指针),但这不是重点(关键)!在此类中还存在一个结构数据变量,含主指针及游动指针!主要是需要操作它。当然,有个缺点,操作同一个类多线程下不安全!。
作者: shuimiao    时间: 2021-5-18 02:07
本帖最后由 shuimiao 于 2021-5-18 02:11 编辑
Ewangl 发表于 2021-5-18 01:03
返回的是本类引用(源指针),但这不是重点(关键)!在此类中还存在一个结构数据变量,含主指针及游动指 ...

我研究了下,就是像你说的内部有一个固定的数据结构变量(估计是本程序跨类全局的),所以无论怎么返回json类,都是指向这个数据结构变量,而节点()方法只是用来在类内部定位要读写的节点名称,而不是返回具体节点结构。而火山方法的返回确实只是拷贝,不存在引用,因为这个类内部数据是跨类全局的,所以返回的类不管是拷贝还是引用都不会影响内部读写。

不过这样就无法另外建立一个json类变量来单独操作了,因为无论多少个json类变量,操作领域都指向了一个全局的数据结构变量。这样局限性就大了,而且多线程也容易混乱。

我在用火山开发一个高性能JSON读写库,需要返回值是参考引用而不是拷贝,也需要变量支持参考属性,可吴总就是没加入。虽然没有返回参考,但还是能变通的,比如遍历内部写值,或者写指针处数据,只是比较麻烦而已

作者: Ewangl    时间: 2021-5-18 13:54
shuimiao 发表于 2021-5-18 02:07
我研究了下,就是像你说的内部有一个固定的数据结构变量(估计是本程序跨类全局的),所以无论怎么返回jso ...

你这样一说,我还没注意,的确如此。我的理解是类中嵌入变量在初始化栈中,这火山打破了我认知。你加我QQ吧,我改造一下。452327180
作者: 2oon    时间: 2021-5-18 20:33
不懂,顶顶没毛病




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4