gpt4 book ai didi

c# - 解析非标准 JSON

转载 作者:行者123 更新时间:2023-11-29 16:23:24 25 4
gpt4 key购买 nike

有谁知道以下代码是什么类型的 JSON(即使是!)?我正在从网站的 HTML 中检索它。我正在尝试使用 JSON 解析器在 C# 中解析它,但我必须根据 JSONLint 进行大量准备性编辑以将其格式化为“有效”JSON。例如,变量的名称都应该有双引号,而不是根本没有引号。

{
status: 'A',
displayed: 'Y',
start_time: '2010-11-2600: 00: 00',
start_time_xls: {
en: '26thofNov201000: 00am',
es: '26Nov201000: 00am'
},
suspend_at: '2010-11-2619: 57: 59',
is_off: 'Y',
score_home: '',
score_away: '',
bids_status: '',
period_id: '',
curr_period_start_time: '',
score_extra_info: '',
ev_id: 2257335,
blurb: '',
last_mkts_of_day: false,
follow_hcap_mkt: 10999896
}

这将始终具有相同的格式,我很乐意将其直接解析为 C# 或 java 中的对象。

最佳答案

您可以使用 Json.Net解析您的输入字符串。在 this extension class 的帮助下,您甚至可以如下使用 dynamic (用你的字符串测试)

dynamic obj = JsonUtils.JsonObject.GetDynamicJsonObject(jsonstr);
Console.WriteLine(obj.names.en);
Console.WriteLine(obj.status);
Console.WriteLine(obj.start_time_xls.en);
Console.WriteLine(obj.suspend_at);

使用纯 Json.Net

JObject jObj =  (JObject)JsonConvert.DeserializeObject(json3);
Console.WriteLine(jObj["names"]["en"]);
Console.WriteLine(jObj["status"]);
Console.WriteLine(jObj["start_time_xls"]["en"]);
Console.WriteLine(jObj["suspend_at"]);

关于c# - 解析非标准 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8662233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com