我在解析实时代码中的 JSON 时遇到问题

I am having trouble parsing the JSON in livecode

我正在尝试创建一个简单的移动应用程序来查询 API 并解析响应以显示某些值。

手机有 2 个字段,即:

  1. 按钮查询 api
  2. 用于显示内容的大文本框

在我的实时代码堆栈中,我包含以下内容:

  1. JSON图书馆
  2. 合并JSON
  3. tsNet

api响应如下:

{
  "data": [
    {
      "id": 1,
      "date_created": "2021-11-08T17:12:03Z",
      "date_updated": "2021-11-22T16:08:55Z",
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@unknown.com",
      "phone": "9876543210",
      "dob": "1980-01-01",
      "password": "xxxxxxxxx",
      "plan_start": "2021-11-22T16:07:46Z",
      "plan_expiry": "2021-12-21T16:06:25Z"
    }
  ]
}

我想解析 JSON 以在文本框中显示电子邮件字段值。

在我的实时代码堆栈中:

  1. 该按钮被命名为“getdata”
  2. 文本框被命名为“flddata”

在按钮脚本中,我添加了以下代码:

   put "<api url endpoint>" into tUrl
   put "Authorization: Bearer xxxxxxxxx" into tHeaders
   put tsNetGetSync(tUrl, tHeaders, tRecvHeaders, tResult, tBytes) into tData
   put JSONToArray(tData) into tDataArray
   put tDataArray["email"] into field "flddata"

但这不起作用。什么都没发生。对于我的一生,我无法弄清楚出了什么问题。任何帮助,将不胜感激。非常感谢!

看起来它可能是一个多维数组。这是了解其结构的简单方法:

  1. 将树视图小部件拖到您的卡片上。

  2. 将小部件的 arrayData 属性 设置为您的数组 tDataArray。像这样:

    set the arrayData of widget "Tree View" to tDataArray

您应该会在树视图小部件中看到数组的结构。创建的数组可能如下所示:

put tDataArray[1]["email"] into field "flddata"

访问从您共享的 JSON 构建的数组的“电子邮件”键。您必须首先访问“数据”键,然后访问键 1。因此代码的最后一行如下:

put tDataArray ["data"] [1] ["email"] into field "flddata"

Tips: Put a break point on that line. This will allow you to see the contents of the variables so that you can see the structure of the array.