3 回答

TA貢獻(xiàn)1836條經(jīng)驗 獲得超5個贊
由于您已將 JSON 序列化設(shè)置配置為使用PreserveReferencesHandling.all,因此您的輸出與您的預(yù)期有很大不同。例如:
var list = new List<int> { 1, 2, 3 };
var json1 = JsonConvert.SerializeObject(list);
var json2 = JsonConvert.SerializeObject(list,
new JsonSerializerSettings { PreserveReferencesHandling = PreserveReferencesHandling.All });
將為您提供 JSON 輸出的以下 2 種變體:
[1,2,3]
{"$id":"1","$values":[1,2,3]}
因此,您可以刪除配置,或者,如果您專門想為此方法更改它,則必須手動進(jìn)行轉(zhuǎn)換,例如:
public string getTest()
{
List<int> test = new List<int>();
test.add(1);
return JsonConvert.SerializeObject(test);
}

TA貢獻(xiàn)1890條經(jīng)驗 獲得超9個贊
在 DotNet 中,您將始終獲得復(fù)雜類型的元數(shù)據(jù)屬性。
要清理 Json 結(jié)果,請?zhí)砑?json 忽略屬性,例如:
options.JsonSerializerOptions.ReferenceHandler?=?ReferenceHandler.IgnoreCycles

TA貢獻(xiàn)1856條經(jīng)驗 獲得超11個贊
用這個。
[HttpGet, Route("getTest")]
public IHttpActionResult Get ()
{
return Ok(implementationClass.getTest()); // Returns an OkNegotiatedContentResult
}
- 3 回答
- 0 關(guān)注
- 181 瀏覽
添加回答
舉報