我在 C# 中有以下示例 json 字符串{ "AccountNumberGenerationRequest": { "BranchNumber": 8034, "AccountType": "041" }, "CreateDepositAccountRequest": { "AccountNumber": "9999999999", "BranchNumber": 8034, "AccountType": 41, "WithholdingIndicator": "4" }, "AccountNameAddressRequest": { "AccountNumber": "9999999999", "NameAndAddressType": 1, }, "CustomerAccountRelationshipRequest": { "CustomerNumber1": "58008", "Customer1ToAccountRelationshipCode": "000" }, "UpdatePartialInformationRequest": { "AccountNumber": "9999999999", "PartialInformationList": [{ "KeywordCode": "FDWTHE", "KeywordValue": "1" }] }, "RequestUUID": "557d5442-8a28-4dab-b191-fe1596ddf2b8"}并且想要讀取所有具有結(jié)束值的唯一鍵。像下面["BranchNumber","AccountType","AccountNumber","BranchNumber","AccountType","WithholdingIndicator","AccountNumber","NameAndAddressType","CustomerNumber1","Customer1ToAccountRelationshipCode","KeywordCode","KeywordValue","RequestUUID"]我正在使用以下代碼var jsonSerializerSettings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; var json= JObject.Parse(JsonConvert.SerializeObject(p, jsonSerializerSettings)); IList<string> keys = json.Properties().Select(c=> c.Name).ToList(); foreach(string key in keys) { Console.WriteLine(key); }但得到只有AccountNumberGenerationRequestAccountNumberGenerationRequestAccountNameAddressRequestAccountNameAddressRequestUpdatePartialInformationRequestRequestUUID我怎樣才能在 C# 中得到這個。這不是硬編碼的 Json。它可以是任何 json。
1 回答

森林海
TA貢獻(xiàn)2011條經(jīng)驗 獲得超2個贊
您只需要展平對象并相應(yīng)地過濾:
var uniqueKeys = json.Descendants()
.OfType<JProperty>()
.Where(x => x.Value is JValue)
.Select(x => x.Name)
.Distinct();
- 1 回答
- 0 關(guān)注
- 338 瀏覽
添加回答
舉報
0/150
提交
取消