首页 > 解决方案 > 如何在 c# 的属性名称中反序列化带有“:”的 JSON 对象?

问题描述

我有这个正在返回的对象值,我想把它转换成一个有用的 JSON 对象,我可以检查和操作。最终,我的目标是验证 和 的usernameaccessKey。但是有两件事让我失望。Double{{使其无效 JSON 并且sauce:options无法转换为类中的属性,因为我无法创建具有名为sauce:options.

{{
  "browserName": "MicrosoftEdge",
  "browserVersion": "latest",
  "platformName": "Windows 10",
  "sauce:options": {
    "username": "test",
    "accessKey": "123"
  }
}}

这是我尝试过的:

string output = JsonConvert.SerializeObject(SauceSession.Options.ConfiguredEdgeOptions);

SauceSession.Options.ConfiguredEdgeOptions返回我上面提到的那个对象。

得到这个回复:Newtonsoft.Json.JsonSerializationException:'从'OpenQA.Selenium.Edge.EdgeOptions'上的'BinaryLocation'获取值时出错。'

我也试过这个:

var serialized = JsonConvert.SerializeObject(SauceSession.Options.ConfiguredEdgeOptions);

并取回了这个Newtonsoft.Json.JsonSerializationException: 'Error getting value from 'BinaryLocation' on 'OpenQA.Selenium.Edge.EdgeOptions'。

标签: c#json

解决方案


推荐阅读