假設回傳型別是
public ActionResult Balance()
{
var myDtos = new List<BalanceModelDto>();
return Ok(new {data = myDtos});
}
在我的 xunit 中,我宣告了回傳型別。
using (var client = new HttpClient())
{
var response = await client.GetAsync($"/Balance");
var responseString = await response.Content.ReadAsStringAsync();
var result = JsonConvert.DeserializeObject<BalanceModelDto>(responseString);
Assert.IsType<BalanceModelDto>(result);
Assert.Equal(1, result.Balance);
}
問題responseString是"{\"data\":[{"balance\":1}]}"。但我想要的只是"[{"balance\":1}]"
uj5u.com熱心網友回復:
要么:您應該查看result.data而不僅僅是result. 或:return Ok(myDtos);來自 ActionMethod。
uj5u.com熱心網友回復:
反序列化為JObject:
var responseRaw = (JObject) JsonConvert.DeserializeObject(responseString);
然后將該 json 物件的“資料”屬性轉換為BalanceModelDto[]:
var result = responseRaw["data"].ToObject<BalanceModelDto[]>();
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/324344.html
上一篇:RADServerDelphi-由于Json轉換后元音發生變異,使用savetostream和loadfromstream不起作用
下一篇:使用PHP打開和修改JSON檔案
