精易论坛

标题: 类_json的bug [打印本页]

作者: frh35860    时间: 2019-4-12 15:34
标题: 类_json的bug

取出的数据只得到一个空的对象{}
官方标准测试得到的是{"T-VB":"QQ-BB"}
精易模块的JSON只要键名带有 "-" (减号)的符号就无法得到正确的对象数据
希望能修复这个问题

作者: 萌菌团    时间: 2019-4-17 17:03
我教你修复啊

  
子程序名返回值类型公开备 注
置属性 
参数名类 型参考可空数组备 注
名字文本型支持a.b.c[0]
文本型
为对象逻辑型属性解析为json对象,数组
如果真 (为对象)
值 = 选择 (值 = “”, “{}”, 值)
对象.方法 (“Eval”, dataName + “.” + 名字 + “= eval(” + 值 + “)”)
返回 ()

判断 (寻找文本 (名字, “-”, , ) ≠ -1)
对象.方法 (“Eval”, dataName + “['” + 名字 + “']='” + 值 + “'”)
对象.方法 (“Eval”, dataName + “.” + 名字 + “='” + 值 + “'”)

作者: frh35860    时间: 2019-4-27 14:28
萌菌团 发表于 2019-4-17 17:03
我教你修复啊

[e=1].版本 2

谢谢啊,我试试看
作者: frh35860    时间: 2019-4-27 21:29
萌菌团 发表于 2019-4-17 17:03
我教你修复啊

[e=1].版本 2

如果有连续的多级的对象键都有“-”号呢?那个名字路径应该是怎么写呢?按前面的方法只要有“-”号就把所有路径括起来得到的值是不对的哦,如果是单个括起来的话,格式对了,就第一级的正常,后面的就不得了,也是返回空对象
作者: 萌菌团    时间: 2019-4-28 09:45
frh35860 发表于 2019-4-27 21:29
如果有连续的多级的对象键都有“-”号呢?那个名字路径应该是怎么写呢?按前面的方法只要有“-”号就把所 ...

思路都有了,自己写吧
作者: frh35860    时间: 2019-4-28 14:47
萌菌团 发表于 2019-4-28 09:45
思路都有了,自己写吧

我试了很多方法都没能正常赋值
{‘test’:{‘te-st’:‘tt’}} 把test.te-st赋值成qq(任何值)就不行,只返回原来的{‘test’:{‘te-st’:‘tt’}}

如果路径名字写成 dataname.test.['‘te-st']直接返回空对象
                  写成 dataname[‘test.te-st']就返回{‘tes.te-st’:‘tt’} 而不是得到{‘test’:{‘te-st’:‘tt’}}




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4