我正在尝试使用 Insomnia 从网站提取数据,方法是发布一个 API 请求,该请求是我直接从特定请求复制的(通过 cURL (bash))。
这是 JSON(我认为是它导致了错误?):
{
"operationName": "Holdings",
"variables": {
"countrycode": "DE",
"languagecode": "de_DE",
"fundid": "27854"
},
"query": "query Holdings($fundid: String\\u0021, $countrycode: String\\u0021, $languagecode: String\\u0021) {\\n Portfolio(\\n fundid: $fundid\\n countrycode: $countrycode\\n languagecode: $languagecode\\n ) {\\n fundname\\n producttype\\n assetclass\\n portfolio {\\n topholdings {\\n asofdate\\n hldngname\\n geocode\\n sectorname\\n brkdwnpct\\n frequency\\n calcbasislocal\\n calctypelocal\\n allocflag\\n hasderivatives\\n }\\n dailyholdings {\\n asofdate\\n frequency\\n secticker\\n isinsecnbr\\n cusipnbr\\n secname\\n quantityshrpar\\n origcouponrate\\n sctrname\\n pctofnetassets\\n mktvalue\\n notionalmktvalue\\n secexpdate\\n assetclasscatg\\n mktcurr\\n contracts\\n }\\n fullholdings {\\n asofdate\\n asofdatestd\\n frequency\\n secticker\\n isinsecnbr\\n cusipnbr\\n secname\\n quantityshrpar\\n origcouponrate\\n sctrname\\n pctofnetassets\\n mktvalue\\n notionalmktvalue\\n secexpdate\\n assetclasscatg\\n mktcurr\\n contracts\\n finalmaturitydate\\n investmentcategory\\n }\\n }\\n }\\n}\\n"
}
这是我不断收到的错误消息:
"errors": \[
"Syntax Error: Cannot parse the unexpected character "\\\\"."
\]
我似乎找不到这个语法错误,也不明白直接复制cURL怎么会出现语法错误?
任何帮助都会很棒!
我检查了查询 URL 和标头,这些似乎都很好,并且也与我过去使用的类似(成功)。
换行符的格式为
\n
而不是 \\n
。
如果您使用双反斜杠
\\
,那么您将转义单反斜杠 \
。尽管这看起来是 String 和 unicode 之间有意为之的。 (String\\u0021
),因为您可能需要一个反斜杠。
单个反斜杠在转义自身和破坏代码方面非常敏感,因此某些程序必须采取自我措施,用另一个反斜杠转义反斜杠才能正确解析它。通过生成的代码仔细检查反斜杠总是值得的。