sql – Delphi:访问JSON数组中的JSON对象
发布时间:2021-03-06 11:09:11 所属栏目:MsSql教程 来源:网络整理
导读:我有一个JSON对象,让我们将它命名为jObject,如下所示: { "id": 0,"data": "[{DAT_INCL: "08/03/2012 10:07:08",NUM_ORDE: 1,NUM_ATND: 1,NUM_ACAO: 2,NUM_RESU: 3},{DAT_INCL: "08/03/2012 10:07:09",NUM_ORDE: 2,NUM_ACAO: 4,NUM_RESU: 5},NUM_ORDE: 3,
|
我有一个JSON对象,让我们将它命名为jObject,如下所示: {
"id": 0,"data": "[{DAT_INCL: "08/03/2012 10:07:08",NUM_ORDE: 1,NUM_ATND: 1,NUM_ACAO: 2,NUM_RESU: 3},{DAT_INCL: "08/03/2012 10:07:09",NUM_ORDE: 2,NUM_ACAO: 4,NUM_RESU: 5},NUM_ORDE: 3,NUM_ACAO: 8,NUM_RESU: NULL}]"
}
如你所见,它包含两对,其中一个是一个数组,在这种情况下有三个对象(对象的数量是动态的),有多个“key:values”(这些不变,总是相同的5个字段),我想插入到SQL数据库中,“key”是列,“value”是字段.问题是,我如何单独访问每个对象? 我所做的代码是通过将它放在jPair中来提取包含该数组的对 jPair := OriginalObject.Get(1); 然后捕获数组 jArray:= TJSONArray(jPair.JsonValue); (另外,作为奖励,当我评估jArray.Size时,结果是6226004.什么?) 解决方法如果你有一个来自DBXJSON的数组,那么它就是一个TJSONArray.调用其Get方法以获取数组的元素.var Value: TJSONValue; Value := jArray.Get(0); 您还可以使用for循环遍历整个数组: for Value in jArray do 但是如果你检查Size属性并获得6226004而不是3,那表明这里还有其他问题.我的猜测是你认为TJSONArray不是那种类型.用于执行检查类型转换: jArray := jPair.JsonValue as TJSONArray; 如果失败,您将收到EInvalidCast异常. (编辑:天瑞地安资讯网_保定站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 为什么在我的测试用例中,顺序GUID键的执行速
- sql server 2012 FileTable有什么功能?
- sql-server – 以逗号分隔列表的形式从SQL Server列获取XML
- sql-server – 如何在一个查询中连接一列内连接中多行的字符
- 数据库 – 为什么他们使用DBMS_STATS.GATHER_TABLE_STATS?
- sql-server – sysmultiobjrefs SQL 2005上的TempDB争用
- sql – 出生日期的CHECK约束?
- 如何识别SQL Server的端口号
- sql – 我得到:“你试图执行一个不包含指定表达式’OrdID’
- sql-server – SQL Server代理作业和可用性组
站长推荐
热点阅读

