0
如何在一行中顯示每個JSON數組元素爲逗號分隔元件,而不是每行一個元件,以U-SQL?顯示JSON數組元素作爲一行以U-SQL
例如,JSON文件是:
{
"A": {
"A1": "1",
"A2": 0
},
"B": {
"B1": "1",
"B2": 0
},
"C": {
"C1": [
{
"D1": "1"
},
{
"D2": "2"
},
{
"D3": "3"
},
{
"D4": "4"
},
{
"D5": "5"
},
{
"D6": "6"
},
{
"D7": "7"
}
]
}
}
的代碼來處理該片段用於陣列C1如下:
@sql = SELECT
Microsoft.Analytics.Samples.Formats.Json.JsonFunctions.JsonTuple(C)["C1"] AS C1_array
FROM @json;
OUTPUT @sql TO "test.txt" USING Outputters.Csv(quoting: false);
@sql2 = SELECT
Microsoft.Analytics.Samples.Formats.Json.JsonFunctions.JsonTuple(C1_array) AS C1
FROM @sql
CROSS APPLY
EXPLODE (Microsoft.Analytics.Samples.Formats.Json.JsonFunctions.JsonTuple(C1_array).Values) AS D(C1);
@result =
SELECT C1["D1"]AS D1,
C1["D2"] AS D2,
C1["D3"]AS D3,
C1["D4"]AS D4,
C1["D5"]AS D5,
C1["D6"]AS D6,
C1["D7"]AS D7,
FROM @sql2;
OUTPUT @result TO "output.txt" USING Outputters.Text();
結果,所有的數組元素每行打印一個,即所有D1到D7元素都在不同的行上。我想要的D1至D7的元件是相同的線的一部分,因爲它是JSON對象的一部分。
是:
1,2,3,4,5,6,7
如何可以這樣做?