JSON jamming in the new age

3 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$49.99
List Price:  $69.99
You save:  $20
€46.40
List Price:  €64.96
You save:  €18.56
£39.83
List Price:  £55.77
You save:  £15.93
CA$68.34
List Price:  CA$95.68
You save:  CA$27.34
A$75.73
List Price:  A$106.02
You save:  A$30.29
S$67.43
List Price:  S$94.41
You save:  S$26.98
HK$390.55
List Price:  HK$546.80
You save:  HK$156.25
CHF 45.24
List Price:  CHF 63.34
You save:  CHF 18.10
NOK kr543.62
List Price:  NOK kr761.11
You save:  NOK kr217.49
DKK kr346.42
List Price:  DKK kr485.02
You save:  DKK kr138.59
NZ$83.15
List Price:  NZ$116.42
You save:  NZ$33.26
د.إ183.60
List Price:  د.إ257.06
You save:  د.إ73.45
৳5,471.12
List Price:  ৳7,660.01
You save:  ৳2,188.88
₹4,168.17
List Price:  ₹5,835.78
You save:  ₹1,667.60
RM236.95
List Price:  RM331.75
You save:  RM94.80
₦61,737.65
List Price:  ₦86,437.65
You save:  ₦24,700
₨13,868
List Price:  ₨19,416.31
You save:  ₨5,548.31
฿1,837.56
List Price:  ฿2,572.74
You save:  ฿735.17
₺1,617.36
List Price:  ₺2,264.43
You save:  ₺647.07
B$254.77
List Price:  B$356.70
You save:  B$101.93
R925.26
List Price:  R1,295.44
You save:  R370.18
Лв90.75
List Price:  Лв127.05
You save:  Лв36.30
₩67,788.68
List Price:  ₩94,909.58
You save:  ₩27,120.90
₪185.35
List Price:  ₪259.50
You save:  ₪74.15
₱2,852.60
List Price:  ₱3,993.87
You save:  ₱1,141.27
¥7,651.21
List Price:  ¥10,712.31
You save:  ¥3,061.10
MX$848.45
List Price:  MX$1,187.89
You save:  MX$339.44
QR181.83
List Price:  QR254.57
You save:  QR72.74
P679.12
List Price:  P950.82
You save:  P271.70
KSh6,605.16
List Price:  KSh9,247.76
You save:  KSh2,642.59
E£2,394.23
List Price:  E£3,352.12
You save:  E£957.88
ብር2,861.57
List Price:  ብር4,006.43
You save:  ብር1,144.85
Kz41,791.64
List Price:  Kz58,511.64
You save:  Kz16,720
CLP$47,104.79
List Price:  CLP$65,950.47
You save:  CLP$18,845.68
CN¥361.78
List Price:  CN¥506.53
You save:  CN¥144.74
RD$2,896.80
List Price:  RD$4,055.76
You save:  RD$1,158.95
DA6,728.30
List Price:  DA9,420.16
You save:  DA2,691.86
FJ$112.64
List Price:  FJ$157.70
You save:  FJ$45.06
Q387.49
List Price:  Q542.52
You save:  Q155.02
GY$10,429.06
List Price:  GY$14,601.52
You save:  GY$4,172.46
ISK kr6,974.05
List Price:  ISK kr9,764.23
You save:  ISK kr2,790.17
DH502.81
List Price:  DH703.98
You save:  DH201.16
L883.05
List Price:  L1,236.34
You save:  L353.29
ден2,855.97
List Price:  ден3,998.59
You save:  ден1,142.61
MOP$401.24
List Price:  MOP$561.77
You save:  MOP$160.53
N$922.79
List Price:  N$1,291.99
You save:  N$369.19
C$1,835.15
List Price:  C$2,569.36
You save:  C$734.20
रु6,656.11
List Price:  रु9,319.09
You save:  रु2,662.97
S/186.09
List Price:  S/260.54
You save:  S/74.45
K192.70
List Price:  K269.79
You save:  K77.09
SAR187.49
List Price:  SAR262.50
You save:  SAR75.01
ZK1,344.69
List Price:  ZK1,882.68
You save:  ZK537.98
L230.99
List Price:  L323.40
You save:  L92.41
Kč1,163.34
List Price:  Kč1,628.77
You save:  Kč465.43
Ft18,074.53
List Price:  Ft25,305.79
You save:  Ft7,231.25
SEK kr539.27
List Price:  SEK kr755.02
You save:  SEK kr215.75
ARS$43,903.33
List Price:  ARS$61,468.17
You save:  ARS$17,564.84
Bs345.22
List Price:  Bs483.33
You save:  Bs138.11
COP$194,164.52
List Price:  COP$271,845.87
You save:  COP$77,681.34
₡25,478.72
List Price:  ₡35,672.25
You save:  ₡10,193.53
L1,231.47
List Price:  L1,724.16
You save:  L492.69
₲373,200.63
List Price:  ₲522,510.75
You save:  ₲149,310.11
$U1,910.59
List Price:  $U2,674.97
You save:  $U764.38
zł200.97
List Price:  zł281.37
You save:  zł80.40
Already have an account? Log In

Transcript

Nowadays JSON is everywhere in web app is in configuration files, even in logs. json is the default format used to structure data. And being so common means that there will certainly be times when we will need to process Jason from the command line. could imagine doing this with grep set or other conventional tools, that would be quite a challenge. Luckily for us, there is a command line tool called JK JK Jq dq that we can use to query adjacent files. It comes with its own language syntax, as we'll see in just a few minutes, but first, let's install Jq with the following command sudo apt install Jq.

Now let's use an example file. dummy x is log in JSON format access dot log, which we can also find in the GitHub repository of the course. Let's start with some simple queries Jq dot x dot log will print this command will print the JSON objects back to the screen in a printed format. If you want to grab the request method from each request, we run this command. This will print the request method from each JSON object. Notice the double quotes around each method.

If we want to use the output as input to other scripts, we probably don't want to double code. And that is where the dash r URL output comes in handy. So we use this command. dq is often used for big data queries at a much smaller scale. Say for example, if we want to calculate a statistic of request methods on the log file, we would run the following command. Now we can see a count of get put post and delete requests.

If we want the same type of calculation for another field, say upkeep We can run the next command. Notice the syntax for accessing nested fields is to just use the.as the delimiter between them delimiter delimiter delimiter Yeah, that is the delimiter. Also notice that we are using single codes instead of double code to mark our query as a string. And of course, notice that I'm learning to speak proper English. As you probably know the difference between single and double quotes in shell scripting is that double quoted strings will try to expand variables by a single quoted string will be treated as a fixed string to query for to query all the request bodies we can use this command. But as we see from the output even seems empty request bodies are logged and will be printed by Jq to skip printing empty bodies we can use cues query language to select all document without an empty body like this.

If we want to refine our search even more and only print the first element in the death holds object of the request body we use the following command. We can even perform arithmetic operations with the return value such as incremented it with this command there are many more examples and use cases for Jq but for them, just go to the official page and visit the tutorial there.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.