制作了以下代碼
var content = @ " {
""
data "": {
""
id "": 1000000,
""
firstName "": ""
John "",
""
lastName "": ""
Doe "",
""departments"": [2245],
""employeeGroups"": [],
""
custom_186549 "": {
""
name "": ""
Pension_overenskomst "",
""
type "": ""
Boolean "",
""
value "": false
},
""
custom_186550 "": {
""
name "": ""
Pension 1. arbejdsdag "",
""
type "": ""
Boolean "",
""
value "": false
}
}
}
";
JObject names = JObject.Parse(content);
IEnumerable < JToken > CustomColumnsFirst = names.SelectTokens("$.data");
foreach(JToken item in CustomColumnsFirst) {
Console.WriteLine(item);
}
IEnumerable < JToken > CustomColumnsNames = names.SelectTokens("$.data.*.name");
IEnumerable < JToken > CustomColumnValues = names.SelectTokens("$.data.*.value");
我被困在這里,設法將名稱和值放入 JToken“陣列”中,但有點需要一種方法來組合 CustomColumnNames 和 CustomColumnValues,然后還要將它們附加到主資料上。“風俗”的內容雖然不同,但風俗名稱本身卻有所不同。客戶內部值的順序也是隨機的
我對 C# 編碼很陌生,所以還不太了解基礎知識。
我需要回傳具有這種格式的 json 字串,而無需輸入“自定義”列名,因為它可能會根據 API 回傳的內容而有所不同:
{
"data":{
"id":1000000,
"firstName":"John",
"lastName":"Doe",
"departments": [2245],
"employeeGroups": []
"Pension_overenskomst":false,
"Pension 1. arbejdsdag":false
}
}
uj5u.com熱心網友回復:
嘗試這個
var data = ((JObject)JObject.Parse(content)["data"]);
JObject items = new JObject();
foreach (var item in data.Properties())
if ( item.Name.Contains("custom"))
//or, thanks to iSR5
if ( item.Name.StartsWith("custom"))
if (item.Name.StartsWith("custom"))
{
if ((string)item.Value["type"] == "Boolean")
items.Add((string)item.Value["name"], item.Value["value"]);
else if ((string)item.Value["type"] == "Text") items.Add("name", item.Value["value"]);
}
else
items.Add(item.Name, item.Value););
JObject newData = new JObject();
newData.Add("data", items);
content = newData.ToString();
//or
content = newData.ToString(Newtonsoft.Json.Formatting.None);
新內容 json
{
"data": {
"id ": 1000000,
"firstName ": "John",
"lastName ": "Doe",
"departments": [
2245
],
"employeeGroups": [],
"Pension_overenskomst": false,
"Pension 1.arbejdsdag": false,
"name": "John Doe"
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/438179.html
上一篇:使用gson決議嵌套的json
下一篇:使用反應鉤子更改嵌套介面的值
