一尘不染

解析非标准JSON

json

任何人都知道以下代码是什么类型的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对象。


阅读 368

收藏
2020-07-27

共1个答案

一尘不染

JSON要求所有名称都必须用双引号引起来,因此这不是有效的JSON。这是有效的Javascript对象。有关JSON格式的问题,请转到此处:http
//json.org/

尚不清楚您要在何处进行JSON转换,但可以在Javascript中将window.JSON.stringify其转换为JSON。

演示:http :
//jsfiddle.net/ThinkingStiff/3xZD8/

var object = {
    names: {
        en: 'VirtualMarket-2MinuteLevel',
        es: 'VirtualMarket-2MinuteLevel'
    },
    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
    },
    json = window.JSON.stringify( object );
2020-07-27