如何将Json字符串转为数组并去掉转义字符

问题描述 投票:0回答:1

这是我的输入文件 - 它只是一个示例它将有超过 20k 行

{"A":12345,"B":"2023-12-31 00:00:00","C":5510,"D":20231231,"E":20240103,"F":20231231,"G":1577158,"H":63217,"I":null,"J":"Company123","K":"SupplierXYZ","L":"987","M":"Vendor ABC","N":"Invoice789","O":"2023-12-31T00:00:00","P":"2024-01-03T00:00:00","Q":"2023033344","R":"7559","S":"Dept123","T":"ModelXYZ","U":7179.0,"V":3,"W":"3769686.0","X":"TypeJ","Y":7179.0,"Z":null,"AA":"NOK","AB":"202312.0","AC":"EXTERNAL","AD":null,"AE":"Counterparty999","AF":"2023-12-31T00:00:00","AG":null,"AH":null,"AI":"66c6c4cc31107992a4079f3653a8a86930a2675d8663c5ab2ec4df23b0f6f3b0","AJ":"2024-02-13T12:58:02.597","AK":"2024-01-03T08:31:16.425292"}
{"A":54321,"B":"2024-01-15 08:00:00","C":7890,"D":20240115,"E":20240120,"F":20240115,"G":2468135,"H":951753,"I":null,"J":"Company456","K":"Supplier789","L":"123456789","M":"Vendor XYZ","N":"Invoice123","O":"2024-01-15T08:00:00","P":"2024-01-20T08:00:00","Q":"2024011515","R":"1234","S":"Dept456","T":"ModelABC","U":9876.0,"V":6,"W":"9876543.0","X":"TypeK","Y":9876.0,"Z":null,"AA":"USD","AB":"202401.0","AC":"INTERNAL","AD":null,"AE":"Counterparty888","AF":"2024-01-15T08:00:00","AG":null,"AH":null,"AI":"a1b2c3d4e5f6g7h8i9","AJ":"2024-02-15T08:00:00.123","AK":"2024-01-20T08:00:00.987654"}

我想要输出为

{
"dataRepositoryId": "fixedvalue",
"importName": "uuid,
"data": [
{"A":12345,"B":"2023-12-31 00:00:00","C":5510,"D":20231231,"E":20240103,"F":20231231,"G":1577158,"H":63217,"I":null,"J":"Company123","K":"SupplierXYZ","L":"987","M":"Vendor ABC","N":"Invoice789","O":"2023-12-31T00:00:00","P":"2024-01-03T00:00:00","Q":"2023033344","R":"7559","S":"Dept123","T":"ModelXYZ","U":7179.0,"V":3,"W":"3769686.0","X":"TypeJ","Y":7179.0,"Z":null,"AA":"NOK","AB":"202312.0","AC":"EXTERNAL","AD":null,"AE":"Counterparty999","AF":"2023-12-31T00:00:00","AG":null,"AH":null,"AI":"66c6c4cc31107992a4079f3653a8a86930a2675d8663c5ab2ec4df23b0f6f3b0","AJ":"2024-02-13T12:58:02.597","AK":"2024-01-03T08:31:16.425292"},
{"A":54321,"B":"2024-01-15 08:00:00","C":7890,"D":20240115,"E":20240120,"F":20240115,"G":2468135,"H":951753,"I":null,"J":"Company456","K":"Supplier789","L":"123456789","M":"Vendor XYZ","N":"Invoice123","O":"2024-01-15T08:00:00","P":"2024-01-20T08:00:00","Q":"2024011515","R":"1234","S":"Dept456","T":"ModelABC","U":9876.0,"V":6,"W":"9876543.0","X":"TypeK","Y":9876.0,"Z":null,"AA":"USD","AB":"202401.0","AC":"INTERNAL","AD":null,"AE":"Counterparty888","AF":"2024-01-15T08:00:00","AG":null,"AH":null,"AI":"a1b2c3d4e5f6g7h8i9","AJ":"2024-02-15T08:00:00.123","AK":"2024-01-20T08:00:00.987654"}
]}

输入文件应封装在数据列中 我已经通过 csv 数据集读取了输入文件,并将分隔符指定为 ^,以便它可以将其读取为一列,然后使用派生列并将数据用作 [Inputcolumn],但我的最终数据看起来像这样

{"dataRepositoryId": "fixed vale","importName": "uuid","data":"[\"{\\\"A\\\":12345,\\\"B\\\":\\\"2023-12-31 00:00:00\\\",\\\"C\\\":5510,\\\"D\\\":20231231,\\\"E\\\":20240103,\\\"F\\\":20231231,\\\"G\\\":1577158,\\\"H\\\":63217,\\\"I\\\":null,\\\"J\\\":\\\"Company123\\\",\\\"K\\\":\\\"SupplierXYZ\\\",\\\"L\\\":\\\"987\\\",\\\"M\\\":\\\"Vendor ABC\\\",\\\"N\\\":\\\"Invoice789\\\",\\\"O\\\":\\\"2023-12-31T00:00:00\\\",\\\"P\\\":\\\"2024-01-03T00:00:00\\\",\\\"Q\\\":\\\"2023033344\\\",\\\"R\\\":\\\"7559\\\",\\\"S\\\":\\\"Dept123\\\",\\\"T\\\":\\\"ModelXYZ\\\",\\\"U\\\":7179.0,\\\"V\\\":3,\\\"W\\\":\\\"3769686.0\\\",\\\"X\\\":\\\"TypeJ\\\",\\\"Y\\\":7179.0,\\\"Z\\\":null,\\\"AA\\\":\\\"NOK\\\",\\\"AB\\\":\\\"202312.0\\\",\\\"AC\\\":\\\"EXTERNAL\\\",\\\"AD\\\":null,\\\"AE\\\":\\\"Counterparty999\\\",\\\"AF\\\":\\\"2023-12-31T00:00:00\\\",\\\"AG\\\":null,\\\"AH\\\":null,\\\"AI\\\":\\\"66c6c4cc31107992a4079f3653a8a86930a2675d8663c5ab2ec4df23b0f6f3b0\\\",\\\"AJ\\\":\\\"2024-02-13T12:58:02.597\\\",\\\"AK\\\":\\\"2024-01-03T08:31:16.425292\\\"}\\\n", "{\\\"A\\\":54321,\\\"B\\\":\\\"2024-01-15 08:00:00\\\",\\\"C\\\":7890,\\\"D\\\":20240115,\\\"E\\\":20240120,\\\"F\\\":20240115,\\\"G\\\":2468135,\\\"H\\\":951753,\\\"I\\\":null,\\\"J\\\":\\\"Company456\\\",\\\"K\\\":\\\"Supplier789\\\",\\\"L\\\":\\\"123456789\\\",\\\"M\\\":\\\"Vendor XYZ\\\",\\\"N\\\":\\\"Invoice123\\\",\\\"O\\\":\\\"2024-01-15T08:00:00\\\",\\\"P\\\":\\\"2024-01-20T08:00:00\\\",\\\"Q\\\":\\\"2024011515\\\",\\\"R\\\":\\\"1234\\\",\\\"S\\\":\\\"Dept456\\\",\\\"T\\\":\\\"ModelABC\\\",\\\"U\\\":9876.0,\\\"V\\\":6,\\\"W\\\":\\\"9876543.0\\\",\\\"X\\\":\\\"TypeK\\\",\\\"Y\\\":9876.0,\\\"Z\\\":null,\\\"AA\\\":\\\"USD\\\",\\\"AB\\\":\\\"202401.0\\\",\\\"AC\\\":\\\"INTERNAL\\\",\\\"AD\\\":null,\\\"AE\\\":\\\"Counterparty888\\\",\\\"AF\\\":\\\"2024-01-15T08:00:00\\\",\\\"AG\\\":null,\\\"AH\\\":null,\\\"AI\\\":\\\"a1b2c3d4e5f6g7h8i9\\\",\\\"AJ\\\":\\\"2024-02-15T08:00:00.123\\\",\\\"AK\\\":\\\"2024-01-20T08:00:00.987654\\\"}\\n\"]"}
azure azure-data-factory
1个回答
0
投票

尝试使用派生列作为 json(Inputcolumn) 会有帮助。

Json() 函数会将字符串转换为 json 输出。

您也可以使用replace('\\','')它将工作并生成像这样的输出

["{"A":12345,"B":"2023-12-31 00:00:00","C":5510,"D":20231231,"E":20240103,"F":20231231,"G":1577158,"H":63217,"I":null,"J":"Company123","K":"SupplierXYZ","L":"987","M":"Vendor ABC","N":"Invoice789","O":"2023-12-31T00:00:00","P":"2024-01-03T00:00:00","Q":"2023033344","R":"7559","S":"Dept123","T":"ModelXYZ","U":7179.0,"V":3,"W":"3769686.0","X":"TypeJ","Y":7179.0,"Z":null,"AA":"NOK","AB":"202312.0","AC":"EXTERNAL","AD":null,"AE":"Counterparty999","AF":"2023-12-31T00:00:00","AG":null,"AH":null,"AI":"66c6c4cc31107992a4079f3653a8a86930a2675d8663c5ab2ec4df23b0f6f3b0","AJ":"2024-02-13T12:58:02.597","AK":"2024-01-03T08:31:16.425292"}n", "{"A":54321,"B":"2024-01-15 08:00:00","C":7890,"D":20240115,"E":20240120,"F":20240115,"G":2468135,"H":951753,"I":null,"J":"Company456","K":"Supplier789","L":"123456789","M":"Vendor XYZ","N":"Invoice123","O":"2024-01-15T08:00:00","P":"2024-01-20T08:00:00","Q":"2024011515","R":"1234","S":"Dept456","T":"ModelABC","U":9876.0,"V":6,"W":"9876543.0","X":"TypeK","Y":9876.0,"Z":null,"AA":"USD","AB":"202401.0","AC":"INTERNAL","AD":null,"AE":"Counterparty888","AF":"2024-01-15T08:00:00","AG":null,"AH":null,"AI":"a1b2c3d4e5f6g7h8i9","AJ":"2024-02-15T08:00:00.123","AK":"2024-01-20T08:00:00.987654"}"]"}
© www.soinside.com 2019 - 2024. All rights reserved.