![](/img/trans.png)
[英]Jackson Unexpected character ('h' (code 104)): expected a valid value
[英]{"errorMessages":["Unexpected character (''' (code 39)): expected a valid value
我從這里找到“使用 POST 查詢”。
並嘗試使用類似命令的 curl 命令。 通過在 windows 中引用this來安裝 curl。
這是我的 CURL 字符串:
curl -D- -u admin:password -X POST -H "Content-Type: application/json" --data
'{"jql":"project = CI","startAt":0,"maxResults":50,"fields":["summary","status","assignee"]}'
"https://myclientname.atlassian.net/rest/api/2/search"
這就是我正在做的事情並得到錯誤:
{"errorMessages":["Unexpected character (''' (code 39)): expected a valid value
(number, String, array, object, 'true', 'false' or 'null')\n
at [Source: org.apache.catalina.connector.CoyoteInputStream@1626cb2; line: 1, column: 2]"]}
在 Windows 中制作這個 curl 字符串有什么問題嗎? 請建議? 如何更正此問題並獲取 JSON 對象? 請注意,用戶名、密碼和客戶端名稱是正確的。 謝謝。
好像是windows的問題。 不要使用'
(單引號)字符。
相反,使用"
(雙引號) 字符將字符串括起來。然后,如果您有內部引號,請使用"""
(3x 雙引號) 來轉義它們。
示例: "{ """name""":"""Frodo""", """age""":123 }"
我嘗試了您在問題中指出的 cURL,但沒有運氣。 此外,Git 附帶的 cURL 也不起作用。 但是,我用 CygWin 安裝的那個可以工作。 同樣的命令也適用於 Ubuntu。 這基本上表明您的命令本身沒問題。
如果您在 Windows 上工作,我建議您使用名為Fiddler的工具。 它幾乎可以執行您可能需要的所有 HTTP 請求。 祝你好運!
更新:在這里我添加了使用 Fiddler 發出 HTTP POST 請求的步驟。
1) 啟動 Fiddler 后,您將看到如圖 1 所示的 GUI。您應該在右上角輸入 JIRA 網站等人員、請求類型以及您要發布的內容。 具體來說,在“Composer”選項卡下,您需要選擇“POST”作為您的請求類型,並將 JIRA 的 URL 放在那里,保持選擇 HTTP/1.1。 您應該將請求標頭放在 URL 欄下。 現在,您需要注意. 至少,您應該在 HTTP 標頭中輸入兩件事:內容類型,即“application/json”,以及授權標頭。 身份驗證是一個 Base64 字符串,您可以在此處使用“admin:password”獲取您的 Base64 字符串。 如果您想了解更多有關基本身份驗證方法的信息,請在此處參考 Jira 的網站。 GUI 的右下方面板是您應該放置帖子內容的地方。
2) 當您准備好這些人員后,您可以單擊 GUI 右上角的“執行”按鈕。 執行結果將顯示在左側面板中。 如圖 2 所示,如果您得到狀態為 200 的結果,那么恭喜您,您得到了它。 如果你得到其他類型的結果,請谷歌錯誤代碼或在這里發表評論。
3) 雙擊結果,返回的 JSON 內容將顯示在右下面板中,如圖 3 所示。您可以嘗試不同的選項卡來查看返回的人員。 例如,如果您轉到“TextView”,您將獲得作為純字符串返回的 JSON。
如果您有任何進一步的問題,請發表評論。
請驗證您是否有任何用單引號括起來的值。
例如
"NetworkType": 'Test'
嘗試這個。 它應該工作。
curl -D- -u admin:password -X POST -H "Content-Type: application/json" --data
\\"{"jql":"project = CI","startAt":0,"maxResults":50,"fields":["summary","status","assignee"]}\\"
"https://myclientname.atlassian.net/rest/api/2/search"
不要忘記在 json 之后和之前使用斜杠 (\\*{}\\*}
這對我有用:
curl.exe -u elastic:Password! -k -X POST "https://localhost:9200/_security/user/kibana_system/_password?pretty" -H "Content-Type: application/json" --data '{"""password""" : """CHANGEME"""}'
注意最后一個參數( --data
)的格式:它使用單引號( '
)作為字符串分隔符,內部使用三重雙引號( "
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.