问题标签 [superobject]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - Delphi Superobject,json的通用列表
我有一个带有一些 TObjectList<>-fields 的对象,我尝试在SuperObject的帮助下将其编码为 JSON 。
在 SuperObjects 代码的深处,有一个 ToClass 过程,迭代字段并将它们添加到 json 结果中。
在此循环中,检查 TRttiFields FieldType。如果为 nil,则跳过该对象。
我的通用列表字段的 FieldType 为 nil。为什么?
如何让 SuperObject 序列化我的对象列表?
json - JUST SHARE - 使用 delphi SuperObject 将 MySQL 数据集转换为 Json 格式
只是分享我使用Delphi SuperObject使用Json的经验
这个想法是如何轻松地将我的查询结果转换为 json 格式。
我使用字符串来表示所有数据格式(包括 BLOB、DATE、DATETIME)。将来可以轻松地将 json 文件导入数据库。
我不是从头开始编写代码,我只是做了一些适合自己需要的修改
这是代码:
json - 使用 SuperObect 更改 Json
我正在使用 SuperObject 与 Json/Delphi 一起工作, 我创造。问题是:“smtp”有孩子,例如 smtp.address,我必须创建 smtp 及其所有孩子,但我的功能不起作用。
我的代码:
谁能帮我?
我正在使用带有 SuperObject 单元的 Delphi 2007
delphi - 使用 indy HTTP 客户端和 Superobject DELPHI http 400 错误代码与 rpc 服务通信
好的,我难倒了下面的代码给了我一个 http 400 错误,告诉我提交的数据有问题,但我不知道是什么!:(
客户端设置为对 URL 进行编码(我尝试了真/假);
也许我很累,谁知道,但这太离谱了:\
RPC 客户端文档 https://en.bitcoin.it/wiki/API_reference_%28JSON-RPC%29
用途:
delphi - 为什么我的代码没有编译,而是得到 E2506 接口部分声明的参数化类型的方法不能使用本地符号
我正在使用德尔福 XE。
以下单元无法编译并出现此错误:
这是为什么?有解决方法吗?
json - SuperObject 序列化私有变量而不是属性
我有以下代码可以序列化一个动态的类数组。出于某种原因,SuperObject 序列化私有变量而不是类属性名称。谁能建议如何在 SuperObject 中解决此问题?
上面的代码生成以下 JSON:
我所追求的是以下 JSON:
json - SuperObject - 从带有“.”的字段名中解析数据 文字
我最近在解析 JSON 时碰壁了。你看,在使用 CloudFlare 客户端接口 API 时,我想查找特定 IP 的“威胁等级”。问题是由于 API 的设计,格式是这样的;
xxx.xxx.xxx.xxx
表示我需要从中检索数据的字段名称。立即,您可能会看到我面临的问题;解析字符串中的点字符被假定为当前路径中的子级别。
<value>
代表IP的实际评级。但是,从它返回的格式和数据类型会有所不同。在不构成威胁或没有威胁等级的 IP 上,它false
以布尔值形式返回。在搜索引擎爬虫上,它以字符串的形式返回"SE:<var>"
(其中<var>
是数值)。对于已知威胁,它会返回"BAD:<var>"
(其中<var>
是一个数值)。因此,我不能依赖返回的已知数据类型。
然而,主要问题是尝试从该字段读取值显然会由于字段名称中的点而失败。
json - Delphi:超对象序列化自定义转换器/逆变器
我想序列化对象和记录以发送它们并在远程端点上恢复。本地和远程端都有共享对象声明单元。
我有一个包含不同记录的字段作为 JSON 对象的记录:
情况1
我需要在 JSON 对象中为 Data 字段写一个类型名称(TRttiType.QualifiedName),以便在另一端进行反序列化。
一个示例结构:
用法:
恢复后我得到一个 TPmMessage,但我不知道 Data JSON 对象中的类型。
案例二
情况 1 我不知道 Data JSON 对象的类型。所以我添加了带有 QualifiedName 作为值的DataObjectType字段。
在这种情况下,我为序列化制作了另一种结构:
这个结构用代码正确序列化:
DataObject:ISuperObject也序列化得很好。
一个问题是如何反序列化DataObject?
我认为它可以使用
但是方法“AsType”需要显式类型参数。
所以我认为用用例设置正确的类型是唯一的方法。
如何更好地使用超级对象进行序列化/反序列化?
你能给我建议一个更好的消息结构而不是这个吗?
json - 使用 SuperObject 将 JSON 反序列化为具有接口字段的对象
我在 DXE2 上使用 SuperObject(序列化工作正常)反序列化包含来自 json 的接口字段的对象时遇到问题。考虑以下:
当执行到TSuperRttiContext.FromJson.FromClass
检查FTest
-field 时,doo-doo 会撞到天花板上的螺旋桨(或安装在桌面上,如果您愿意的话)。此时,Result := FromJson(f.FieldType.Handle, GetFieldDefault(f, obj.AsObject[GetFieldName(f)]), v);
被调用,这将我们带入 SuperObject.pas 代码中有趣的部分。为简洁起见,我将在这里复制它。
分配给的值soguid
是ISuperObject
,所以很明显两者不匹配(我正在测试ITest
,记得吗?)。所以我有点不知道该怎么做。反序列化由一个或多个接口字段组成的任何对象是否违法?
这似乎是一个常见的用例,我很难相信。我可以理解这样一个事实,即知道要选择给定接口的哪种实现可能并非易事。然而,我从序言中的评论中看到,应该支持接口对象 - http://code.google.com/p/superobject/source/browse/trunk/superobject.pas#47。
如果有人在那里解决了这个问题,那当然会很棒。谢谢!:)