forked from Krowemoh/TCL-Utilities
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJSON.CREATE.ARRAY
More file actions
56 lines (56 loc) · 1.03 KB
/
JSON.CREATE.ARRAY
File metadata and controls
56 lines (56 loc) · 1.03 KB
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
SUBROUTINE JSON.CREATE.ARRAY(BUFFER)
*
GIT.FILENAME = 'JSON.CREATE.ARRAY'
GIT.REPO = 'https://github.com/Krowemoh/TCL-Utilities.git'
*
* VERSION
*
VERSION = '1'
*
@USER1 = 'JSON.CREATE.ARRAY'
@USER2 = 'JSON.CREATE.ARRAY'
*
NUMBER.OF.KEYS = DCOUNT(BUFFER,@AM)
JSON = ''
*
FOR I = 1 TO NUMBER.OF.KEYS
VALUE = TRIM(BUFFER<I>)
*
IF VALUE = '' THEN
GOSUB QUOTE.VALUE
*
END ELSE IF VALUE[1,1] = '0' THEN
GOSUB QUOTE.VALUE
*
END ELSE IF VALUE[1,1] = '.' THEN
GOSUB QUOTE.VALUE
*
END ELSE IF (VALUE[1,1] = '[' OR VALUE[1,1] = '{' OR NUM(VALUE)) THEN
JSON<-1> = VALUE
*
END ELSE
GOSUB QUOTE.VALUE
END
NEXT I
*
CONVERT @AM TO ',' IN JSON
*
JSON = '[' : JSON : ']'
*
BUFFER = JSON
*
RETURN
*
********************* S U B R O U T I N E *********************
*
QUOTE.VALUE:NULL
*
VALUE = CHANGE(VALUE,'"','\"')
JSON<-1> = '"' : VALUE : '"'
*
RETURN
*
* END OF PROGRAM
*
END
*