如何在 Uniface 中为 json 结构创建一个列表

Posted

技术标签:

【中文标题】如何在 Uniface 中为 json 结构创建一个列表【英文标题】:How to create a list with struct for a json in Uniface 【发布时间】:2022-01-14 04:51:25 【问题描述】:

我需要使用 uniface 编程语言创建一个 json。我使用结构来创建 json。但是我有一个问题来创建一个带有结构的列表。

请参阅此处的“儿童”列表示例。

示例 - JSON:


    "First Name" : "Barbara",
    "Last Name" :  "Singh",
    "Date of birth" :    "year" : 1955, "month" : 1, "day" : 23 , 
    "Married" : true,
    "Children" :  
    [
          "Name" : "Martin", "Year of birth" :  1980 ,
          "Name" : "Margaret", "Year of birth" : 1983         
    ],
    "Mobile phone" : null
 

示例 - 结构:

[]
    [First Name] = "Barbara"
    [Last Name]  = "Singh"
    [Date of birth]
        [year] = 1732             
        [month] = 2               
        [day] = 22                
    [Married] = "T"               
    [Children]
        []
             [Name] = "Martin"
             [Year of birth] = 1980      
        []
             [Name] = "Margaret"   
             [Year of birth] = 1983      
     [Mobile phone] 

基于 Uniface 文档的示例:Structs for JSON Data

那么,我如何为 json 创建一个带有 uniface 的列表?

【问题讨论】:

【参考方案1】:

我根据"How to create a list with struct for a json in Uniface 的帖子找到了一个解决方案,这启发了我的解决方案。

解决方案:

myStructure = $newstruct
myStructure->Children = $newstruct
myStructure->Children->$tags->jsonClass="array"

forlist sRecordPerson, nCounter in sListOfPersons
  sStruktur->Children-><NULL>nCounter = $newstruct

  sStruktur->Children-><NULL>nCounter->Name = $item("Name", sRecordPerson)
  sStruktur->Children-><NULL>nCounter->Yearofbirth = $item("Yearofbirth", sRecordPerson)

endfor

【讨论】:

以上是关于如何在 Uniface 中为 json 结构创建一个列表的主要内容,如果未能解决你的问题,请参考以下文章

如何快速创建一组两种类型?

我应该如何在 Uniface 9.7 中使作业文件安全

如何使用 json.net 构建用于序列化的对象层次结构?

如何在 Scala/Spark 中为数据框中的每一行编写一个 Json 文件并重命名文件

如何在 iOS XCode 中为 JSON 定义结构?

1、创建一棵二叉树,以二叉链表作存储结构,实现先根遍历算法 2、创建一棵二叉树,实现先根遍历算法、中根