In the source file (CPP), create a C++ class that contains your functions and data members as follows: • Data members: · 2 arrays of strings named names and values respectfully (do not use STL containers e or your score will be reduced significantly). The size of the arrays should be large enough to hold all of the data parsed from the test files (we will be modifying this in the future so don't worry about the size being just right. Err on the side of too large if anything). • names array: will contain all of the names in the object values array: will contain all of the values in the object Member functions:

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

In C++ create a JSON parser, please leave meaningful comments explaining parts of the code.

In the source file (CPP), create a C++ class that contains your functions and data members as follows:
• Data members:
· 2 arrays of strings named names and values respectfully (do not use STL containers e or your score will be
reduced significantly). The size of the arrays should be large enough to hold all of the data parsed from the
test files (we will be modifying this in the future so don't worry about the size being just right. Err on the side
of too large if anything).
• names array: will contain all of the names in the object
• values array: will contain all of the values in the object
Member functions:
· A function to open the file and store the file object or data. The function should return true on success and
false on failure.
· A function to read the names/values from the JSON file and place them in the 2 member arrays named
names and values respectfully. The function should return true on success and false on failure.
• Create docktest e testcases that tests the results of the parsing of JsonObject1.json L and JsonObject2.json L.
Here is an example:
/////// // Testing //////
TEST_CASE("Testing my JSON Parser")
{
JsonParser jp;
SUBCASE("testing parsing of empty JSON object")
{
// Open the file
CHECK(jp.OpenFile(DATA_FILE_PATH + "Jsonobjectl.json") == true);
// Invoke the parsing process
CHECK(jp.ParseJson() == true);
// Validate the parsed JSON object
CHECK(jp.names[0] == "");
CHECK(jp.values[0] == "");
}
SUBCASE("testing parsing of simple JSON object (only strings for values)")
{
// Open the file
CHECK(jp.OpenFile(DATA_FILE_PATH + "Jsonobject2.json") == true);
// Invoke the parsing process
CHECK(jp.ParseJson() == true);
// Validate the parsed JSON object
CHECK(jp.names[0] == "Name");
CHECK(jp.names[1] == "Symbol");
CHECK(jp.values[0]
CHECK(jp.values[1]
"BitCoin");
"BTC");
==
Transcribed Image Text:In the source file (CPP), create a C++ class that contains your functions and data members as follows: • Data members: · 2 arrays of strings named names and values respectfully (do not use STL containers e or your score will be reduced significantly). The size of the arrays should be large enough to hold all of the data parsed from the test files (we will be modifying this in the future so don't worry about the size being just right. Err on the side of too large if anything). • names array: will contain all of the names in the object • values array: will contain all of the values in the object Member functions: · A function to open the file and store the file object or data. The function should return true on success and false on failure. · A function to read the names/values from the JSON file and place them in the 2 member arrays named names and values respectfully. The function should return true on success and false on failure. • Create docktest e testcases that tests the results of the parsing of JsonObject1.json L and JsonObject2.json L. Here is an example: /////// // Testing ////// TEST_CASE("Testing my JSON Parser") { JsonParser jp; SUBCASE("testing parsing of empty JSON object") { // Open the file CHECK(jp.OpenFile(DATA_FILE_PATH + "Jsonobjectl.json") == true); // Invoke the parsing process CHECK(jp.ParseJson() == true); // Validate the parsed JSON object CHECK(jp.names[0] == ""); CHECK(jp.values[0] == ""); } SUBCASE("testing parsing of simple JSON object (only strings for values)") { // Open the file CHECK(jp.OpenFile(DATA_FILE_PATH + "Jsonobject2.json") == true); // Invoke the parsing process CHECK(jp.ParseJson() == true); // Validate the parsed JSON object CHECK(jp.names[0] == "Name"); CHECK(jp.names[1] == "Symbol"); CHECK(jp.values[0] CHECK(jp.values[1] "BitCoin"); "BTC"); ==
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 3 images

Blurred answer
Knowledge Booster
Concept of pointer parameter
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education