我有一個 JSON 物件,其中包含這樣的陣列:
{
"CustRecord": [
{
"ID": "40274",
"Currency": "USD",
"CustomerNumber": "123456",
"CustomerName": "contoso"
},
{
"ID": "40275",
"Currency": "USD",
"CustomerNumber": "123456",
"CustomerName": "contoso"
}
]
}
我想從 JSON 中洗掉屬性名稱“CustRecord”,以使用 C# 創建以下輸出。我怎樣才能做到這一點?
[
{
"ID": "40274",
"Currency": "USD",
"CustomerNumber": "123456",
"CustomerName": "contoso"
},
{
"ID": "40275",
"Currency": "USD",
"CustomerNumber": "123456",
"CustomerName": "contoso"
}
]
uj5u.com熱心網友回復:
您可能需要創建一些類來攜帶您的 JSON 資料,然后使用 Newtonsoft.Json庫讓您的 JSON 資料成為物件
public class CustRecord
{
public string ID { get; set; }
public string Currency { get; set; }
public string CustomerNumber { get; set; }
public string CustomerName { get; set; }
}
public class Root
{
public List<CustRecord> CustRecord { get; set; }
}
然后使用JsonConvert.SerializeObjec方法讓你root.CustRecord成為一個陣列 JSON
var root = Newtonsoft.Json.JsonConvert.DeserializeObject<Root>(json);
var result = Newtonsoft.Json.JsonConvert.SerializeObject(root.CustRecord);
c# 在線
uj5u.com熱心網友回復:
在 .NET 6 中,您可以使用新的“System.Text.Json.Nodes”命名空間。它介紹了 JsonObject和JsonNode。您可以執行以下操作:
JsonNode original = JsonObject.Parse(jsonString);
string newJson = original["CustRecord"].ToJsonString();
如果您希望序列化結果縮進(漂亮)Json,那么您可以傳遞JsonSerializerOptions給ToJsonString():
string newJson = original["CustRecord"].ToJsonString(new JsonSerializerOptions
{
WriteIndented = true
});
uj5u.com熱心網友回復:
嘗試這個
var newJson=JObject.Parse(json)["CustRecord"].ToString();
或最有效的方式
json=json.Substring(0,json.Length-1).Substring(json.IndexOf(":") 1);
結果
[
{
"ID": "40274",
"Currency": "USD",
"CustomerNumber": "123456",
"CustomerName": "contoso"
},
{
"ID": "40275",
"Currency": "USD",
"CustomerNumber": "123456",
"CustomerName": "contoso"
}
]
但是如果您需要反序列化 json,而不僅僅是 parse ,最好的方法是
var customerRecord =JObject.Parse(json)["CustRecord"].ToObject<CustomerRecord>();
班級
public class CustomerRecord
{
public string ID { get; set; }
public string Currency { get; set; }
public string CustomerNumber { get; set; }
public string CustomerName { get; set; }
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/426804.html
