Json格式,用于将其发送到函数

本文关键字:函数 格式 用于 Json | 更新日期: 2023-09-27 18:08:18

我想在我的c#控制台应用程序中传递以下json作为引用

{"val1":["dfgdsfgdfgsdf"],"val2":258915,"val3":"PPaaaA","val4":null,
"valJSON":"[{'"TypeID'":'"Z_FI_MDG'",'"SeverityCode'":'"3'",'"Note'":'"'''"zczczca '''''''"leading zero'''''''". ''''''''r''''''''n•YYY: Institution'"}]"}

我正在执行下列操作,但不工作

  JsonSerializer serializer = new JsonSerializer(); 
            dynamic item = serializer.Deserialize<object>("
{"val1":["dfgdsfgdfgsdf"],"val2":258915,"val3":"PPaaaA","val4":null,
    "valJSON":"[{'"TypeID'":'"Z_FI_MDG'",'"SeverityCode'":'"3'",'"Note'":'"'''"zczczca '''''''"leading zero'''''''". ''''''''r''''''''n•YYY: Institution'"}]"}
");

还有其他方法可以传递给函数吗?简化

当我尝试将这个赋值给string时它会给出错误有人能帮助我吗

Json格式,用于将其发送到函数

你应该从函数调用中删除对象类型:

  JsonSerializer serializer = new JsonSerializer(); 
  dynamic item = serializer.Deserialize("...");

我会使用Newtonsoft的解决方案,如果可能的话,我从不后悔。

在你的情况下,我会使用:

string json = @"{
  "val1": [
    "dfgdsfgdfgsdf"
  ],
  "val2": 258915,
  "val3": "PPaaaA",
  "val4": null,
  "valJSON": "[{'"TypeID'":'"Z_FI_MDG'",'"SeverityCode'":'"3'",'"Note'":'"'''"zczczca '''''''"leading zero'''''''". ''''''''r''''''''n•YYY: Institution'"}]"
}"
dynamic rss = JObject.Parse(json);

然后访问其中的值,例如:

var val2 = rss.val2;

我不确定这是否是你要找的,但我试过了…阅读更多:http://www.newtonsoft.com/json/help/html/QueryJson.htm

然后,如果你想了解更多如何"安装"newtonsoft:如何安装JSON。. NET使用NuGet?

如果你想解析Json到确切的类,你可以试试这个

 RootObject item = JsonConvert.DeserializeObject<RootObject>(File.ReadAllText(@"D:'file.txt"));
 public class RootObject
    {
        public List<string> val1 { get; set; }
        public int val2 { get; set; }
        public string val3 { get; set; }
        public object val4 { get; set; }
        public string valJSON { get; set; }
    }