3 回答

TA貢獻1836條經驗 獲得超5個贊
由于您已將 JSON 序列化設置配置為使用PreserveReferencesHandling.all,因此您的輸出與您的預期有很大不同。例如:
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]}
因此,您可以刪除配置,或者,如果您專門想為此方法更改它,則必須手動進行轉換,例如:
public string getTest()
{
List<int> test = new List<int>();
test.add(1);
return JsonConvert.SerializeObject(test);
}

TA貢獻1890條經驗 獲得超9個贊
在 DotNet 中,您將始終獲得復雜類型的元數據屬性。
要清理 Json 結果,請添加 json 忽略屬性,例如:
options.JsonSerializerOptions.ReferenceHandler?=?ReferenceHandler.IgnoreCycles

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