如何解析 JSON 对象列表以分隔列?我正在尝试将以下数据导入 JMP,但所有外部数据对象都在同一列中。 有没有办法将它放在单独的列中? 我让它使用数值而不是字符串。 所有字符串都以逗号分隔值出现在同一列中。 感谢您的帮助。
[{
"id": 1234,
"date": "2022-04-06",
"batch": {
"id": 1553,
"date": "2022-02-01"
},
"externalData": [
{
"orderNumber": 1,
"batchNumber": "bo09",
"partNumber": 121
},
{
"orderNumber": 1,
"batchNumber": "hoi112",
"partNumber": 129
},
{
"orderNumber": 1,
"batchNumber": "1ka10",
"partNumber": 432
} ,
{
"orderNumber": 1,
"batchNumber": "11la0",
"partNumber": 432
}
]
},{
"id": 1234,
"date": "2022-04-06",
"batch": {
"id": "1553",
"date": "2022-02-01"
},
"externalData": [
{
"orderNumber": 1,
"batchNumber": "14",
"partNumber": 121
},
{
"orderNumber": 1,
"batchNumber": "112",
"partNumber": 129
},
{
"orderNumber": 1,
"batchNumber": "110",
"partNumber": 432
}
]
}]数据表回复:如何解析 JSON 对象列表以分隔列?为每个结果编写单独的公式是一种选择

Parse JSON(:Column 1[1])["res1"];
这也可以编写成更加自动化的脚本
回复:如何解析 JSON 对象列表以分隔列?如果我的 JSON 数据不是文件而是现有数据表中的列,我如何将 JSON 解析为单独的列? 在下面的示例屏幕截图中,我想将“结果”列解析为 3 个单独的列:result1、result2、result3。

回复:如何解析 JSON 对象列表以分隔列?取决于您希望数据看起来如何,JSON 向导可能无法按照您想要的方式对其进行格式化。
带有巨大猜测的 JSON 导入向导(Wide 很可能也可以工作):

然后你可以将 batchNumber 分开到不同的列:

或者使用更复杂的 JSON 导入向导设置:

从这里您可以使用 JMP 提供的不同工具来拆分/堆叠/转置数据。
您还可以将 batch.id 保留为空值并使用它来计算列表索引

If(Row() == 1, val = 0);
If(Is Missing(:batch.id),
val,
val
++);
val;
回复:如何解析 JSON 对象列表以分隔列?感谢您的回复! 我已经在导入向导中尝试了不同的选项,但我想将列表分成不同的列而不是像您的解决方案中那样的行。 有没有办法做到这一点?
回复:如何解析 JSON 对象列表以分隔列?您是否尝试过 JSON 导入向导为您提供的不同选项? 下面是启用堆栈的 Wide Guess 示例:

您希望数据看起来如何?
回复:如何解析 JSON 对象列表以分隔列?你好@洛维萨,
根据您使用的 JMP 版本,您可以使用文件打开命令将 JSON 文件直接导入 JMP。
Import JSON File-->Open导入 JSON 文件-->打开
Import JSON Red Triangle Option Tall Format导入 JSON 红色三角形选项高格式
从红色小三角菜单选项中选择“Tall guess”选项。
单击“确定”后,您将获得带有源脚本的 JMP 数据表,您可以根据需要重复使用该源脚本以导入其他文件。
Open(
"$Desktop/example_json.json",
JSON Settings(
Stack( 0 ),
Row( "/root/externalData" ),
Col(
"/root/externalData/orderNumber",
Column Name( "orderNumber" ),
Fill( "Use Once" ),
Type( "Numeric" ),
Format( {"Best"} ),
Modeling Type( "Continuous" )
),
Col(
"/root/externalData/batchNumber",
Column Name( "batchNumber" ),
Fill( "Use Once" ),
Type( "Character" ),
Format( {"Best"} ),
Modeling Type( "Continuous" )
),
Col(
"/root/externalData/partNumber",
Column Name( "partNumber" ),
Fill( "Use Once" ),
Type( "Numeric" ),
Format( {"Best"} ),
Modeling Type( "Continuous" )
)
),
JSON Wizard( 0 )
)
干杯,
斯坦