如何使用jsl读取json文件时间列我正在尝试使用 jsl 打开一个 json 文件。该 json 文件有一个时间列,格式为 yyyy-mm-ddThh:mm:ss,但我不知道如何正确读取它。
我试过用这个,但是没用
打开(path1,JSON 设置(
堆栈( 0 ),
行(“/根/值”),
Col(“/root/value/datetime”,
列名称( “datetime” ),
填充(“使用一次”),
类型(“数字”),
格式( "yyyy-mm-ddThh:mm:ss"),
输入格式(“yyyy-mm-ddThh:mm:ss”),
建模类型(“连续”)
),
有什么建议吗?谢谢!
自动化和脚本Re:如何使用jsl读取json文件的时间列您很可能希望将其加载为字符串,然后更改 JMP 表中的格式(我认为 JSON 规范没有日期格式,通常它们存储为字符串)。您能否提供至少包含日期键值对的 JSON 文件的小示例?
Re:如何使用jsl读取json文件的时间列请使用

位于讨论输入屏幕顶部的图标可复制您的 JSL 语句。它确实增强了阅读和理解代码的能力。
Re:如何使用jsl读取json文件的时间列感谢您的回复!它默认读取为字符。因此,也许在 JMP 中更改它是可行的方法。
以下是 json 文件的示例,
{
“主键”:“14240”,
“日期时间戳”:“2024-06-25T16:17:34.524327-05:00”,
“DateTimeStampLocal”:“2024-06-25T16:17:34.523”,
“DateTimeStampUtc”:“2024-06-25T21:17:34.524327”,
},
Re:如何使用jsl读取json文件的时间列会做!
Re:如何使用jsl读取json文件的时间列当你将数据导入 JMP 表时(预览可能会有效)

然后,您可以使用 Word()(或 Words())和 InFormat()(我建议使用 Format Pattern)来清理字符串。如果您需要保留小数,那么这将更加复杂,因为您必须单独处理它们,时区也是如此。
下面是一个小例子,它让你了解你可以做什么
T<HH24>:<MM>:<SS>");
dec = Num("0." || Word(1, lastpart, "-+"));</SS></MM></HH24>Names Default To Here(1);
str = "2024-06-25T16:17:34.524327-05:00";
{firstpart, lastpart} = Words(str, ".");
date = Informat(firstpart, "Format Pattern", "<YYYY>-<MM>-</MM></YYYY>
Re:如何使用jsl读取json文件的时间列不确定我是否遵循了这一点。但我按照您的第一个建议将 json 文件读入为字符串,然后稍后将其更改为数字时间格式。而且成功了!再次感谢您的帮助。
Re:如何使用jsl读取json文件的时间列JMP 可能能够直接将日期字符串的格式更改为 JMP datenum,当您将列转换为数字时就会发生这种情况。
使用 In Format() 适用于必须对字符串格式的日期执行更复杂的操作(有时是必要的)的情况。