我正在嘗試將 JSON 反序列化為一個物件,以便將其添加到彈性搜索中。專案中的 JSON 可以是許多不同的物件型別,所以我希望函式是動態的。
首先,我正在序列化我從 EF Core 背景關系中獲得的資料
var serializedObject = JsonConvert.SerializeObject(document, Formatting.None,
new JsonSerializerSettings()
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
});
接下來我想反序列化一個物件。例如,如果我有
public class EValues
{
public dynamic values { get; set; }
}
var test = JsonConvert.DeserializeObject<EValues>(serializedObject.ToString());
我希望將 JSON 反序列化為以下內容:
{
"values":{
"StudentId":"60712555-ff1d-4a3e-8c81-08d9c2fc4423",
"Student":{
"Name":"string",
"Country":"string",
"Street":"string"
}
}
}
serializedObject我實際上試圖反序列化的JSON:
{
"StudentId":"60712555-ff1d-4a3e-8c81-08d9c2fc4423",
"Student":{
"Name":"string",
"Country":"string",
"Street":"string"
}
}
uj5u.com熱心網友回復:
你可以這樣做:
var test = new EValues {
values = JsonConvert.DeserializeObject<dynamic>(serializedObject)
};
對應的 JSONEValues將有一個額外的嵌套級別,{ "values" : {} }而不存在于您的serializedObjectJSON 中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/388488.html
