我在解析实时代码中的 JSON 时遇到问题
I am having trouble parsing the JSON in livecode
我正在尝试创建一个简单的移动应用程序来查询 API 并解析响应以显示某些值。
手机有 2 个字段,即:
- 按钮查询 api
- 用于显示内容的大文本框
在我的实时代码堆栈中,我包含以下内容:
- JSON图书馆
- 合并JSON
- 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 以在文本框中显示电子邮件字段值。
在我的实时代码堆栈中:
- 该按钮被命名为“getdata”
- 文本框被命名为“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"
但这不起作用。什么都没发生。对于我的一生,我无法弄清楚出了什么问题。任何帮助,将不胜感激。非常感谢!
看起来它可能是一个多维数组。这是了解其结构的简单方法:
将树视图小部件拖到您的卡片上。
将小部件的 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.
我正在尝试创建一个简单的移动应用程序来查询 API 并解析响应以显示某些值。
手机有 2 个字段,即:
- 按钮查询 api
- 用于显示内容的大文本框
在我的实时代码堆栈中,我包含以下内容:
- JSON图书馆
- 合并JSON
- 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 以在文本框中显示电子邮件字段值。
在我的实时代码堆栈中:
- 该按钮被命名为“getdata”
- 文本框被命名为“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"
但这不起作用。什么都没发生。对于我的一生,我无法弄清楚出了什么问题。任何帮助,将不胜感激。非常感谢!
看起来它可能是一个多维数组。这是了解其结构的简单方法:
将树视图小部件拖到您的卡片上。
将小部件的 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.