1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 | const $ = (s) => document.querySelector(s);
|
15 |
|
16 | const updateResults = () => {
|
17 | const jsonSample = $('#jsonSample');
|
18 | const reportValidity = () => {
|
19 |
|
20 | setTimeout(() => {
|
21 | jsonSample.reportValidity();
|
22 | });
|
23 | };
|
24 | let json;
|
25 | try {
|
26 | json = JSON.parse(jsonSample.value);
|
27 | jsonSample.setCustomValidity('');
|
28 | reportValidity();
|
29 | } catch (err) {
|
30 | jsonSample.setCustomValidity('Error parsing JSON: ' + err.toString());
|
31 | reportValidity();
|
32 | return;
|
33 | }
|
34 | const result = JSONPath.JSONPath({
|
35 | path: $('#jsonpath').value,
|
36 | json
|
37 | });
|
38 |
|
39 | $('#results').value = JSON.stringify(result, null, 2);
|
40 | };
|
41 |
|
42 | $('#jsonpath').addEventListener('change', () => {
|
43 | updateResults();
|
44 | });
|
45 |
|
46 | $('#jsonSample').addEventListener('change', () => {
|
47 | updateResults();
|
48 | });
|