[英]Raw data to Array or Json using js
It would be helpful if someone could assist on this. 如果有人可以帮助解决这个问题会很有帮助。 I want to store this raw data into array from
BEGIN:VEVENT
to END:VEVENT
我想将这些原始数据存储到
BEGIN:VEVENT
到END:VEVENT
数组中
BEGIN : VEVENT\r\nDTSTART;
TZID = America / New_York : 20161231 T123000\r\nDTEND;
TZID = America / New_York : 20161231 T133000\r\nRRULE : FREQ = WEEKLY;
UNTIL = 20170211 T045959Z;
BYDAY = SA\r\nDTSTAMP : 20170228 T012109Z\r\nUID : h742jrf72h1r4oferera9dp070@google.com\r\nCREATED : 20170102 T190437Z\r\nDESCRIPTION : \r\nLAST - MODIFIED : 20170211 T152911Z\r\nLOCATION : \r\nSEQUENCE : 0 \r\nSTATUS : CONFIRMED\r\nSUMMARY : happy\r\nTRANSP : OPAQUE\r\nEND : VEVENT\r\nBEGIN : VEVENT\r\nDTSTART;
TZID = America / New_York : 20170106 T170000\r\nDTEND;
TZID = America / New_York : 20170106 T173000\r\nRRULE : FREQ = WEEKLY;
BYDAY = FR\r\nDTSTAMP : 20170228 T012109Z\r\nUID : ukad1og7htm89pc8j4di4otlk8_R20170106T220000@google.com\r\nCREATED : 20141126 T041733Z\r\nDESCRIPTION : \r\nLAST - MODIFIED : 20170120 T210013Z\r\nLOCATION : sds\r\nSEQUENCE : 0 \r\nSTATUS : CONFIRMED\r\nSUMMARY : Gold / Blue / Green Weapons\r\nTRANSP : OPAQUE\r\nBEGIN : VALARM\r\nACTION : NONE\r\nTRIGGER;
VALUE = DATE - TIME : 19760401 T005545Z\r\nEND : VALARM\r\nEND : VEVENT\r\nBEGIN : VEVENT\r\nDTSTART;
TZID = America / New_York : 20161229 T160000\r\nDTEND;
TZID = America / New_York : 20161229 T164500\r\nDTSTAMP : 20170228 T012109Z\r\nUID : 8 thf9943qdnjkcrtlvt6k8kjmg@google.com\r\nRECURRENCE - ID;
TZID = America / New_York : 20161229 T160000\r\nCREATED : 20160612 T220329Z\r\nDESCRIPTION : \r\nLAST - MODIFIED : 20170117 T200013Z\r\nLOCATION : \r\nSEQUENCE : 0 \r\nSTATUS : CONFIRMED\r\nSUMMARY : Juniors school\r\nTRANSP : OPAQUE\r\nBEGIN : VALARM\r\nACTION : NONE\r\nTRIGGER;
VALUE = DATE - TIME : 19760401 T005545Z\r\nEND : VALARM\r\nEND : VEVENT\r\n
[
{
Hide Copy Code BEGIN: VEVENT,
DTSTART: 20160314 T093000Z,
DTEND: 20160314 T143000Z,
DTSTAMP: 20160427 T141329Z,
CREATED: 20160228 T142659Z,
DESCRIPTION: For assembler,
LAST - MODIFIED: 20160314 T133208Z,
SEQUENCE: 0,
STATUS: CONFIRMED,
END: VEVENT
}, {
Hide Copy Code BEGIN: VEVENT,
DTSTART: 20160314 T093000Z,
DTEND: 20160314 T143000Z,
DTSTAMP: 20160427 T141329Z,
CREATED: 20160228 T142659Z,
DESCRIPTION: For assembler,
LAST - MODIFIED: 20160314 T133208Z,
SEQUENCE: 0,
STATUS: CONFIRMED,
END: VEVENT
}
]
I see it works in ruby. 我认为它适用于红宝石。 I tried some api for js converting icasdata to Json, but it doesn't fetch exact data so I'm thinking if I can read the raw data and pass it to an array without any API.
我尝试了一些api for js将icasdata转换为Json,但它没有获取确切的数据,所以我在想是否可以读取原始数据并将其传递给没有任何API的数组。 Any suggestion on above question that will help.
对上述问题的任何建议都会有所帮助。 Thanks.
谢谢。
I'm not entirely sure what it is you want, but from my understanding if the raw data is a string and you want arrays of json marked with END: VEVENT
. 我不完全确定你想要什么,但是根据我的理解,如果原始数据是一个字符串,你想要使用
END: VEVENT
标记的json数组。 This could be a good starting place. 这可能是一个很好的起点。 I hope this helps you even if in the smallest way:
我希望即使以最小的方式帮助你:
var rawData = "BEGIN:VEVENT\\r\\nDTSTART;TZID=America/New_York:20161231T123000\\r\\nDTEND;TZID=America/New_York:20161231T133000\\r\\nRRULE:FREQ=WEEKLY;UNTIL=20170211T045959Z;BYDAY=SA\\r\\nDTSTAMP:20170228T012109Z\\r\\nUID:h742jrf72h1r4oferera9dp070@google.com\\r\\nCREATED:20170102T190437Z\\r\\nDESCRIPTION:\\r\\nLAST-MODIFIED:20170211T152911Z\\r\\nLOCATION:\\r\\nSEQUENCE:0\\r\\nSTATUS:CONFIRMED\\r\\nSUMMARY:happy\\r\\nTRANSP:OPAQUE\\r\\nEND:VEVENT\\r\\nBEGIN:VEVENT\\r\\nDTSTART;TZID=America/New_York:20170106T170000\\r\\nDTEND;TZID=America/New_York:20170106T173000\\r\\nRRULE:FREQ=WEEKLY;BYDAY=FR\\r\\nDTSTAMP:20170228T012109Z\\r\\nUID:ukad1og7htm89pc8j4di4otlk8_R20170106T220000@google.com\\r\\nCREATED:20141126T041733Z\\r\\nDESCRIPTION:\\r\\nLAST-MODIFIED:20170120T210013Z\\r\\nLOCATION:sds\\r\\nSEQUENCE:0\\r\\nSTATUS:CONFIRMED\\r\\nSUMMARY:Gold/Blue/Green Weapons\\r\\nTRANSP:OPAQUE\\r\\nBEGIN:VALARM\\r\\nACTION:NONE\\r\\nTRIGGER;VALUE=DATE-TIME:19760401T005545Z\\r\\nEND:VALARM\\r\\nEND:VEVENT\\r\\nBEGIN:VEVENT\\r\\nDTSTART;TZID=America/New_York:20161229T160000\\r\\nDTEND;TZID=America/New_York:20161229T164500\\r\\nDTSTAMP:20170228T012109Z\\r\\nUID:8thf9943qdnjkcrtlvt6k8kjmg@google.com\\r\\nRECURRENCE-ID;TZID=America/New_York:20161229T160000\\r\\nCREATED:20160612T220329Z\\r\\nDESCRIPTION:\\r\\nLAST-MODIFIED:20170117T200013Z\\r\\nLOCATION:\\r\\nSEQUENCE:0\\r\\nSTATUS:CONFIRMED\\r\\nSUMMARY:Juniors school\\r\\nTRANSP:OPAQUE\\r\\nBEGIN:VALARM\\r\\nACTION:NONE\\r\\nTRIGGER;VALUE=DATE-TIME:19760401T005545Z\\r\\nEND:VALARM\\r\\nEND:VEVENT\\r\\n" function rawToJSON(raw) { var arr = []; var lines = raw.split('\\r\\n'); lines.reduce(function(obj, line){ var keyValue = line.split(":"); var key = keyValue[0]; var value = keyValue[1]; Object.assign(obj, {[key]: value}); if (key == 'END' && value == 'VEVENT') { arr.push(obj); return {}; } return obj; }, {}); return arr; } console.log(rawToJSON(rawData));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.