1980882096 发表于 2023-10-7 14:58:35

shuimiao 发表于 2023-10-7 13:59
json解析模块升级了,写路径值()第6个参数可以UCS2编码 https://bbs.voldp.com/forum.php?mod=viewthrea ...

好的,多谢大佬

1980882096 发表于 2023-10-7 15:58:49

shuimiao 发表于 2023-10-7 13:59
json解析模块升级了,写路径值()第6个参数可以UCS2编码 https://bbs.voldp.com/forum.php?mod=viewthrea ...

升级了一下,发现问题并没有解决,编码之后就不是标准的json了,其他地方无法解析,官方库取出来的就是标准json,这个json是我构造出来发送到网页使用的,如何构造一个取出来就只是引号带斜杠的标准json呢?

shuimiao 发表于 2023-10-7 16:17:11

本帖最后由 shuimiao 于 2023-10-7 16:19 编辑

1980882096 发表于 2023-10-7 15:58
升级了一下,发现问题并没有解决,编码之后就不是标准的json了,其他地方无法解析,官方库取出来的就是标 ...
编码之后就是标准的文本值,你要是觉得不对,取出来再用usc2解码啊,读路径值也有这个解码参数。当然你自己互相替换反斜杠引号和引号也行

shuimiao 发表于 2023-10-8 09:21:27

1980882096 发表于 2023-10-7 15:58
升级了一下,发现问题并没有解决,编码之后就不是标准的json了,其他地方无法解析,官方库取出来的就是标 ...

你看看升级模块后的例程第四个,就是以你的例子写的。将日期数据写路径值到日期节点时,第6个参数ucs2编码,就会按文本数据写入(而不是数组),这样后面取出全部数据,就会发现被写入的数据都被ucs2编码了,这种编码是对""{}[]进行反斜杠转义,而官方只对""反斜杠转义,但是理论上没什么影响啊,到了网页端接收数据读取日期节点下面的数据,肯定也要解码才能二次解析的。当然你不要直接对整个json数据ucs2编码,而是只对日期节点下面的日期数据ucs2编码,这样应该不影响其他接收方解析的

shuimiao 发表于 2023-10-8 09:27:29

要是确实这样编码后其他接收端无法解析,那就只能手动对日期数据替换引号为反斜杠引号,然后这样赋值

json.顶级节点.值="\""+替换后的新日期数据变量+"\""

或者

json.子节点("日期").值="\""+替换后的新日期数据变量+"\""

1980882096 发表于 2023-10-8 10:56:58

本帖最后由 1980882096 于 2023-10-8 11:35 编辑

shuimiao 发表于 2023-10-8 09:27
要是确实这样编码后其他接收端无法解析,那就只能手动对日期数据替换引号为反斜杠引号,然后这样赋值

json ...
好的,我直接用官方库配合处理一下就可以,建议增加一个读长整数命令,一个到可读文本命令:噜阿噜

1980882096 发表于 2023-10-8 11:40:44

火山文本变量初始值那里也会自动转义引号,这是为什么?

shuimiao 发表于 2023-10-8 12:28:46

1980882096 发表于 2023-10-8 11:40
火山文本变量初始值那里也会自动转义引号,这是为什么?

初始值那里转义很正常,就跟代码中文本赋值一样需要转义,进入文本编辑对话框界面就看到原始文本了。他这种转义跟json的转义看起来类似。甚至你可以用json的UCS2转义文本直接替换到文本赋值或初始值的位置。
页: 1 [2]
查看完整版本: 水淼json问题