Anyone know what type of JSON (if even that!) the following code is? I\'m retrieving this from the HTML of a website. I\'m trying to parse it in C# with a JSON parser, but I
Whether or not (I vote “not”) it's valid:
s {^\s*([a-z0-9_]+)\:} {"\1":} g
seems to work for this data set, and I'll bet that they're just strcat
ting the output at you, so it's probably safe for the time being.
You can use Json.Net to parse your input string. You can even make use of dynamic
as below with the help of this extension class (Tested with your string)
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);
With pure 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"]);
JSON requires that all names be in double quotes, so this is not valid JSON. This is a valid Javascript object. For JSON format questions go here: http://json.org/
It's not totally clear where you want to do this conversion to JSON, but in Javascript you can use window.JSON.stringify
to convert it to JSON.
Demo: 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 );