使用Newtonsoft JRaw导航JSON数组

时间:2019-11-21 20:58:29

标签: json.net

我可以使用JRaw Class浏览JSON数组吗?

Linqpad中,我不确定如何在json数组中包含的两个对象中提取日期时间字符串:

string payload = @"[
    {
        ""measureTime"": ""2019-10-19T14:43:00.8183732Z"",
        ""sensor1"": 342.0,
        ""sensor2"": 32.0,
        ""sensor3"": 0.0324,
        ""sensor4"": -893.438
    },
    {
        ""measureTime"": ""2019-10-19T19:43:00.7473732Z"",
        ""sensor1"": 348.0,
        ""sensor2"": 32.0,
        ""sensor3"": 0.0324,
        ""sensor4"": -893.438
    }
]";


JRaw raw = new JRaw(payload);
raw.HasValues.Dump();
raw.Next.Dump();
raw.Children().Dump();

这些转储的输出是:

False

null

(0 items)


对于上下文,我正在尝试使用Azure API管理检查传入请求的正文中包含的json,并验证其中包含的所有日期时间字符串是否都与{{​​3}}的日期时间一致格式。如果我能做的话,这将非常简单:

JsonConvert.DeserializeObject<JArray>(context.Request.Body.As<string>(preserveContent: true),
                                                        new JsonSerializerSettings {DateParseHandling = DateParseHandling.None});

但是,“ Newtonsoft.Json.JsonSerializerSettings”为RFC3339

如果我仅使用JArray.Parse(),那么生成的JArray会将datetime字符串存储在DateTime对象中,而不是原始字符串中,这意味着我无法验证字符串的格式,因为它最初是传入的。

我确实可以访问JRaw类,并认为我也许可以以某种方式利用它。

0 个答案:

没有答案
相关问题