hi, I just started with DevOps Pre-Requisite Course, Json Path Lab. I don’t seem to understand the task in this lab practice. Can someone please help? Thank you.
Which task do you not understand?
I don’t seem to understand the requirement of the lab session. I can’t get to solve the tasks.
First you must understand what is JSON and how it is represented. This should be covered by the videos up to this point. JSONPath is about getting selected segments out of a whole load of JSON (could be megabytes of it).
Ok, let’s look at question 2
Develop a JSON PATH query to extract the kind of object. A file named q2.json
is provided in the terminal. Your task is to develop a JSON path query to extract the expected output from the Source Data.
Expected output should be like this
[
{
"color": "white",
"price": "$120,000"
}
]
-
Look at the source data
cat q2.json
output
{ "car": { "color": "blue", "price": "$20,000" }, "bus": { "color": "white", "price": "$120,000" } }
-
Notice from the above, the part of all of that file we need, which is the properties of
bus
, so this will yield that resultcat q2.json | jpath $.bus
output
[ { "color": "white", "price": "$120,000" } ]
which is what is requested.
-
Create the answer file as requested
vi /root/answer2.sh
Enter the command into the editor
cat q2.json | jpath $.bus
Save the file
If you wanted the price of the bus, it would be
cat q2.json | jpath $.bus.price
or the color of the car
cat q2.json | jpath $.car.color
or all the car’s details (instead of the bus)
cat q2.json | jpath $.car
If you get stuck with vi
editor, read this.
Thank you @Alistair_KodeKloud. I also first don’t understand what is the question and answer.
After reading your explanation it make sense.
Thanks again @Alistair_KodeKloud
How did you get that in answer3.sh
? The answer files should not contain a JSON document. They need to be a shell command of the form
cat q3.json | jpath $.<your answer>
How does the grader test your answer?
It will run the following
bash answer3.sh
and it will expect what is printed to match what is in the “expected output” box.