我已經向 REST servlet 發送了一個請求,它回傳一個 JSON 陣列
- 我需要將 JSON 作為字串獲取以進行進一步處理。
最初我用它來獲取身體:
DataNode result = body.get("carList");` return result.toString();`然后嘗試決議body,原來是JSON,但是...
Jackson此字串從庫中引發例外:"Unexpected character ('c' (code 99)): was expecting double-quote to start field name at [Source: (String)"[{carNumber: 22248002, trailerNumber: }]"; line: 1, column: 4]"- 這些是預期值。
- 它們不是公認的 JSON 格式。
對于上面的示例,要求是:
[ {"carNumber" : "1234", "trailerNumber" : "567"}, ... ]- 請參閱:JSON.org
我還沒有(還)在檔案中找到一個例子或指導。
- 我尋找諸如 之類
getJson()的東西getRaw()。我確信它一定在那里。 - 在這種情況下,我希望串列中的條目用于測驗更新操作。
- 我尋找諸如 之類
期待你的回復。
uj5u.com熱心網友回復:
WebTau的作者在這里,感謝您使用它。
要獲取DataNode基礎值,請從驗證塊回傳節點。如果節點表示物件,Map則將回傳一個實體。List對于 JSON 陣列和對應型別,例如String,Boolean對于簡單值
Map<String, ?> bodyAsMap = http.get("/end-point", ((header, body) -> {
return body;
}));
請注意,它還不是 JSON。此時,您可以使用任何標準庫將 Map 轉換回 JSON。或使用 WebTau JsonUtils.serialize。
另外值得注意的是,它不是來自服務器的原始回應,而是決議為 DataNode,然后決議為 Map,然后決議為 String。
如果您需要驗證 JSON 是否確認模式,您可以直接在驗證塊中使用它
如果您需要原始原始內容,可以使用未記錄的http方法
public HttpResponse getToFullUrl(String fullUrl, HttpHeader requestHeader)
它回傳的物件具有getTextContent()訪問最初收到的內容的方法。
您能否詳細說明為什么需要原始內容訪問權限?如果有一個有用的模式,最好在 WebTau 中本地啟用它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/493242.html
上一篇:kotest更改環境變數
