Skip to content
Advertisement

How to split each element of a string array into different categories?

I am using node.js to fetch data from a website. Once I have that fetched data I want to insert into a mySQL database. Fetching the the url gives me a json dump of information.

After formatting the string, I am using an array to store my data. Below is an example of my output:

JavaScript

I want to split each element of this array into different categories.

For example: "time_specified_flag: 1 presence of the pts_time field"

I want this element into 3 different categories (parameter, value, description). Like [time_specified_flag, 1, presence of the pts_time field]

Edit: this is the original json dump as a string: "dump" : "======================================================================================================================================rn| PID: 0401 [SEC -> SCTE-35] length: 60[0x003C] status: VALID |rn--------------------------------------------------------------------------------------------------------------------------------------rnAddress Parameter Length Value Descriptionrn--------------------------------------------------------------------------------------------------------------------------------------rn<span class="hex_tree_child">0x0000,0: [-] PID: 0401 [SEC -> SCTE-35] <0x2A,0> : (37 nodes in 3 levels)</span>rn0x0000,0: * table_id <0x1,0> : 0xFC (252) SCTE 35rn0x0001,0: * section_syntax_indicator <0x0,1> : '0'rn0x0001,1: * private_indicator <0x0,1> : '0'rn0x0001,2: * reserved <0x0,2> : '11'rn0x0001,4: * section_length <0x1,4> : 0x39 (57)rn0x0003,0: * protocol_version <0x1,0> : 0rn0x0004,0: * encrypted_packet <0x0,1> : 0 no part of this message is encryptedrn0x0004,1: * encryption_algorithm <0x0,6> : 0 No encryptionrn0x0004,7: * pts_adjustment <0x4,1> : 0xFFFF7F18 (-33000) => Time: 95443.4 sec => (hh:mm:ss.ms) 26:30:43.351rn0x0009,0: * cw_index <0x1,0> : 0x00 (0)rn0x000A,0: * tier <0x1,4> : 0x0FFF (4095)rn0x000B,4: * splice_command_length <0x1,4> : 0x0005 (5)rn0x000D,0: * splice_command_type <0x1,0> : 0x06 (6) time_signalrn<span class="hex_tree_child">0x000E,0: [-] time_signal <0x5,0> : => Time: 19345 sec => (hh:mm:ss.ms) 05:22:24.972</span>rn0x000E,0: * time_specified_flag <0x0,1> : 1 presence of the pts_time fieldrn0x000E,1: * reserved <0x0,6> : 0x3F (63)rn0x000E,7: * pts_time <0x4,1> : PTS: 1741047514 [0x67C646DA] => Time: 19345 sec => (hh:mm:ss.ms) 05:22:24.972rn0x0013,0: * descriptor_loop_length <0x2,0> : 35rn<span class="hex_tree_child">0x0015,0: [-] Descriptors <0x11,0> :</span>rn<span class="hex_tree_child">0x0015,0: [-] segmentation_descriptor (0x02) <0x11,0> : Content Identification (0x01)</span>rn0x0015,0: * descriptor_tag <0x1,0> : 0x02 (2)rn0x0016,0: * descriptor_length <0x1,0> : 0x21 (33)rn0x0017,0: * identifier <0x4,0> : 0x43554549 (CUEI)rn0x001B,0: * segmentation_event_id <0x4,0> : 0x00000001 (1)rn0x001F,0: * segmentation_event_cancel_indicator <0x0,1> : '0' a previously sent segmentation event, identified by segmentation_event_id, has NOT been cancelledrn0x001F,1: * reserved <0x0,7> : 0x7F (127)rn0x0020,0: * program_segmentation_flag <0x0,1> : '1' the message refers to a Program Segmentation Point and that the mode is the Program Segmentation Mode whereby all PIDs/components of the program are to be segmentedrn0x0020,1: * segmentation_duration_flag <0x0,1> : '0' No presence of segmentation_duration fieldrn0x0020,2: * delivery_not_restricted_flag <0x0,1> : '1' the next five bits are reservedrn0x0020,3: * reserved <0x0,5> : 0x1F (31)rn0x0021,0: * segmentation_upid_type <0x1,0> : 0x01 (1) Deprecated: use type 0x0C; The segmentation_upid does not follow a standard naming scheme.rn0x0022,0: * segmentation_upid_length <0x1,0> : 0x12 (18)rn0x0035,0: * segmentation_type_id <0x1,0> : 0x01 (1) Content Identificationrn0x0036,0: * segment_num <0x1,0> : 0x01 (1)rn0x0037,0: * segments_expected <0x1,0> : 0x01 (1)rn0x0038,0: * CRC_32 <0x4,0> : 0x46D15AF3 CRC OKrn======================================================================================================================================rn",

Here is my code snippet to format this blob of data:

My code to format the JSON response

Is this something that is possible to do?

Advertisement

Answer

@TayshawnHill … was this already sufficient enough?… version 1 matches/captures exactly the pts_time like formats/categories whereas version 2 matches/captures the more generic formats/categories. – Peter Seliger

@PeterSeliger version 2 groups them how I would like them. However, I am not sure how to make use of the regex to put the parameter, value, and description into an object. – Tayshawn Hill

… here we go …

JavaScript
JavaScript
User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement