|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2019/10/17 9:51:54 |
标题: |
|
加入我的收藏 |
楼主: |
TQJson.Create; Add('test','true'); // 这不是string值吗?
怎么变成这样了??
{ "test":true }
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行. |
作者: |
|
2019/10/17 12:25:12 |
1楼: |
用 https://github.com/ahausladen/JsonDataObjects
----------------------------------------------
-
|
作者: |
a5824 (Return) |
★☆☆☆☆ |
-
|
普通会员 |
|
2019/10/17 13:15:56 |
2楼: |
JsonDataObjects 还是这个好用,顺手,一个文件,写法简单,强烈推荐
----------------------------------------------
-
|
作者: |
|
2019/10/18 11:16:30 |
3楼: |
请仔细看说明。你只是不会用而已
1、你用的这个方法,现在已经不能这样写了。请更新 2、老版本的这个方法,是自动识别数据格式,所以不存在你说的兼容问题 3、正确写法如下:Add('test','true', jdtString); 当然这个是现在的标准写法
----------------------------------------------
-
|
作者: |
|
2019/10/18 11:23:24 |
4楼: |
可是我觉得完全可以用Variant或者各种函数的overload。 Variant可以做自动识别类型,加个类型参数多写一写代码
----------------------------------------------
武稀松http://www.raysoftware.cn
|
作者: |
|
2019/10/18 17:03:17 |
5楼: |
qjson是有很多overload的 而且添加字符串的这个重载,之前默认jdtUnknown,就是自动识别 但后面有人反馈不合适,才给改成了需要指定。 重载里面有各种类型,Variant也包含在内
----------------------------------------------
-
|
作者: |
|
2019/10/18 20:49:54 |
6楼: |
@KngStr
我知道新的已经需要自己指定类型。 但我想说的是, 其实完全可以自动判断类型。 这得从json原型上来看,
qjson为什么要把'true' 识别成 布尔值, 是设计错误, 跟类型无关, 他自己在里面='true' 改成了true.
或者这种设计是为了兼容有 "true" 这种格式的字符传入。 但我想了半天, 不知道哪个语言会把true保存成字符。。
可能是它想多了。
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
|
作者: |
|
2019/10/18 20:52:03 |
7楼: |
if val ='true'
源代码是这样写的。
我想不明白, 什么情况才会出现字符true要转回布尔值? 难道json的标准布尔值进入就转成字符了?
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
|
作者: |
|
2019/10/19 2:24:57 |
8楼: |
你好,星二大神,这是Qjson的标准
----------------------------------------------
-
|
|