|
1 | 1 | (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
2 | 2 |
|
3 |
| -(FILECREATED "13-May-2024 22:37:13" {WMEDLEY}<lispusers>JSON.;36 9198 |
| 3 | +(FILECREATED " 7-May-2025 13:57:04" {WMEDLEY}<lispusers>JSON.;38 9891 |
4 | 4 |
|
5 | 5 | :EDIT-BY rmk
|
6 | 6 |
|
7 | 7 | :CHANGES-TO (FNS JSON-GET)
|
8 | 8 |
|
9 |
| - :PREVIOUS-DATE "13-May-2024 19:23:02" {WMEDLEY}<lispusers>JSON.;33) |
| 9 | + :PREVIOUS-DATE "13-May-2024 22:37:13" {WMEDLEY}<lispusers>JSON.;36) |
10 | 10 |
|
11 | 11 |
|
12 | 12 | (PRETTYCOMPRINT JSONCOMS)
|
|
177 | 177 | NIL])
|
178 | 178 |
|
179 | 179 | (JSON-GET
|
180 |
| - [LAMBDA (OBJECT ATTRIBUTES) (* ; "Edited 13-May-2024 22:35 by rmk") |
| 180 | + [LAMBDA (OBJECT ATTRIBUTES) (* ; "Edited 7-May-2025 13:56 by rmk") |
| 181 | + (* ; "Edited 13-May-2024 22:35 by rmk") |
181 | 182 | (* ; "Edited 30-Apr-2024 14:26 by rmk")
|
182 | 183 |
|
183 | 184 | (* ;; "Returns the value at the end of a chain of ATTRIBUTES in OBJECT")
|
184 | 185 |
|
185 |
| - (for A (OBJ _ OBJECT) inside ATTRIBUTES do (if (EQ 'OBJECT (CAR (LISTP OBJ))) |
186 |
| - then [SETQ OBJ (CADR (ASSOC A (CDR OBJ] |
187 |
| - else (RETURN NIL)) finally (RETURN OBJ]) |
| 186 | + (for A (OBJ _ OBJECT) inside ATTRIBUTES do (SELECTQ (CAR (LISTP OBJ)) |
| 187 | + (OBJECT [SETQ OBJ (CADR (ASSOC A (CDR OBJ]) |
| 188 | + (ARRAY (CL:UNLESS (AND (FIXP A) |
| 189 | + (IGEQ A 0)) |
| 190 | + (ERROR A |
| 191 | + " cannot index a JSON array") |
| 192 | + ) |
| 193 | + |
| 194 | + (* ;; "ADD1 because zero-origin") |
| 195 | + |
| 196 | + [SETQ OBJ (CAR (NTH OBJ (ADD1 A]) |
| 197 | + (RETURN NIL)) finally (RETURN OBJ]) |
188 | 198 | )
|
189 | 199 | (DECLARE%: EVAL@COMPILE DONTCOPY
|
190 | 200 | (DECLARE%: EVAL@COMPILE
|
|
201 | 211 | )
|
202 | 212 | )
|
203 | 213 | (DECLARE%: DONTCOPY
|
204 |
| - (FILEMAP (NIL (559 8839 (JSON-PARSE 569 . 915) (JSON-VALUE 917 . 1286) (JSON-SKIP 1288 . 1562) ( |
| 214 | + (FILEMAP (NIL (559 9532 (JSON-PARSE 569 . 915) (JSON-VALUE 917 . 1286) (JSON-SKIP 1288 . 1562) ( |
205 | 215 | JSON-STRING 1564 . 2362) (JSON-ARRAY 2364 . 3502) (JSON-OBJECT 3504 . 4961) (JSON-AVPAIR 4963 . 5405)
|
206 |
| -(JSON-NUMBER 5407 . 6921) (JSON-ATOM 6923 . 8230) (JSON-GET 8232 . 8837))))) |
| 216 | +(JSON-NUMBER 5407 . 6921) (JSON-ATOM 6923 . 8230) (JSON-GET 8232 . 9530))))) |
207 | 217 | STOP
|
0 commit comments