-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathjsoncols.1.html
131 lines (129 loc) · 3.74 KB
/
jsoncols.1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<!DOCTYPE html>
<html>
<head>
<title>Caltech Library's Digital Library Development Sandbox</title>
<link href='https://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="/css/site.css">
</head>
<body>
<header>
<a href="http://library.caltech.edu"><img src="/assets/liblogo.gif" alt="Caltech Library logo"></a>
</header>
<nav>
<ul>
<li><a href="/">Home</a></li>
<li><a href="./">README</a></li>
<li><a href="LICENSE">LICENSE</a></li>
<li><a href="INSTALL.html">INSTALL</a></li>
<li><a href="user-manual.html">User Manual</a></li>
<li><a href="how-to/">Tutorials</a></li>
<li><a href="search.html">Search Docs</a></li>
<li><a href="about.html">About</a></li>
<li><a href="https://github.com/caltechlibrary/datatools">GitHub</a></li>
</ul>
</nav>
<section>
<h1 id="name">NAME</h1>
<p>jsoncols</p>
<h1 id="synopsis">SYNOPSIS</h1>
<p>jsoncols <a href="#options">OPTIONS</a> [EXPRESSION] [INPUT_FILENAME]
[OUTPUT_FILENAME]</p>
<h1 id="description">DESCRIPTION</h1>
<p>jsoncols provides scripting flexibility for data extraction from JSON
data returning the results in columns. This is helpful in flattening
content extracted from JSON blobs. The default delimiter for each value
extracted is a comma. This can be overridden with an option.</p>
<ul>
<li>EXPRESSION can be an empty string or dot notation for an object’s
path</li>
<li>INPUT_FILENAME is the filename to read or a dash “-” if you want to
explicitly read from stdin
<ul>
<li>if not provided then jsoncols reads from stdin</li>
</ul></li>
<li>OUTPUT_FILENAME is the filename to write or a dash “-” if you want
to explicitly write to stdout
<ul>
<li>if not provided then jsoncols write to stdout</li>
</ul></li>
</ul>
<h1 id="options">OPTIONS</h1>
<dl>
<dt>-help</dt>
<dd>
display help
</dd>
<dt>-license</dt>
<dd>
display license
</dd>
<dt>-version</dt>
<dd>
display version
</dd>
<dt>-csv</dt>
<dd>
output as CSV or other flat delimiter row
</dd>
<dt>-d, -delimiter</dt>
<dd>
set the delimiter for multi-field csv output
</dd>
<dt>-i, -input</dt>
<dd>
input filename
</dd>
<dt>-nl, -newline</dt>
<dd>
if true add a trailing newline
</dd>
<dt>-o, -output</dt>
<dd>
output filename
</dd>
<dt>-p, -pretty</dt>
<dd>
pretty print JSON output
</dd>
<dt>-quiet</dt>
<dd>
suppress error messages
</dd>
<dt>-quote</dt>
<dd>
quote strings and JSON notation
</dd>
<dt>-r, -repl</dt>
<dd>
run interactively
</dd>
</dl>
<h1 id="examples">EXAMPLES</h1>
<p>If myblob.json contained</p>
<pre><code> {"name": "Doe, Jane", "email":"[email protected]", "age": 42}</code></pre>
<p>Getting just the name could be done with</p>
<pre><code> jsoncols -i myblob.json .name</code></pre>
<p>This would yield</p>
<pre><code> "Doe, Jane"</code></pre>
<p>Flipping .name and .age into pipe delimited columns is as easy as
listing each field in the expression inside a space delimited
string.</p>
<pre><code> jsoncols -i myblob.json -d\| .name .age</code></pre>
<p>This would yield</p>
<pre><code> Doe, Jane|42</code></pre>
<p>You can also pipe JSON data in.</p>
<pre><code> cat myblob.json | jsoncols .name .email .age</code></pre>
<p>Would yield</p>
<pre><code> "Doe, Jane","[email protected]",42</code></pre>
<p>jsoncols 1.2.12</p>
</section>
<footer>
<span><h1><A href="http://caltech.edu">Caltech</a></h1></span>
<span>© 2023 <a href="https://www.library.caltech.edu/copyright">Caltech library</a></span>
<address>1200 E California Blvd, Mail Code 1-32, Pasadena, CA 91125-3200</address>
<span>Phone: <a href="tel:+1-626-395-3405">(626)395-3405</a></span>
<span><a href="mailto:[email protected]">Email Us</a></span>
<a class="cl-hide" href="sitemap.xml">Site Map</a>
</footer>
</body>
</html>