在模式推断解析JSON中检测到格式错误的记录

ukqbszuj  于 2023-06-07  发布在  其他
关注(0)|答案(3)|浏览(205)

我有一个非常令人沮丧的错误,试图使用ADF中的数据集解析从Blob存储读取的基本Json
我的Json在下面

[{"Bid":0.197514880839,"BaseCurrency":"AED"}
,{"Bid":0.535403560434,"BaseCurrency":"AUD"}
,{"Bid":0.351998712241,"BaseCurrency":"BBD"}
,{"Bid":0.573128306234,"BaseCurrency":"CAD"}
,{"Bid":0.787556605631,"BaseCurrency":"CHF"}
,{"Bid":0.0009212964,"BaseCurrency":"CLP"}
,{"Bid":0.115389497248,"BaseCurrency":"DKK"}
]

我已经尝试了所有3个Json源设置,其中每一个都给出错误

Malformed records are detected in schema inference. Parse Mode: FAILFAST

3设置如

Single Document
Array Of Documents
Document Per Line

有人能帮忙吗?我只是简单地需要这是一个对象的列表,这就是它!
保罗

f3temu5u

f3temu5u1#

它应该适用于JSON设置-Array of documents

kmynzznz

kmynzznz2#

当我们使用UTF-8 BOM编码的json文件时,我们会遇到这个问题,ADF DataFlow无法解析此类文件。您可以在创建文件时将编码指定为UTF-8而不进行编码,它将工作。
在我的例子中,我使用复制活动来合并和创建json文件,并将编码指定为UTF-8而不带BOM,它解决了我的问题。
注意:由于某些原因,我们不能在DataFlow中使用“UTF-8 without BOM”编码的数据集,在这种情况下,您可以创建两个数据集,一个使用默认的UTF-8编码(将在DataFlow中使用),另一个使用UTF-8 without BOM(将在创建文件时用于复制活动接收器/)。
谢谢你。

7kjnsjlb

7kjnsjlb3#

如果结构是这样的-

{
    "GroupId": 1,
    "SubGroups": [
        {
            "GroupId": 101,
            "SubGroups": [
                {
                    "GroupId": 10101,
                    "SubGroups": [],
                    "Type": "AA",
                    "Name": "Name1"
                }
            ],
            "Type": "A",
            "Name": "Name2"
        },
        {
            "GroupId": 102,
            "SubGroups": [],
            "Type": "B",
            "Name": "Name3"
        }
}

相关问题