annotate R/scratch/test_json.R @ 34:2682a627168c

- breaking changes: * restrict 'Z' conversions to immutable types * restrict 'p' to mutable types (and handles)
author Tassilo Philipp
date Sun, 12 Apr 2020 19:37:37 +0200
parents 0cfcc391201f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 library(rjson)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 parseJSON <- function(path)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 {
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 parser <- newJSONParser()
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 f <- file(path)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 open(f)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 while(TRUE)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9 {
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 aLine <- readLines(f, 1)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 if (length(aLine) == 0) break
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 parser$addData( aLine )
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 }
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 close(f)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 parser$getObject()
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 }
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 # TEST:
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 testfile <- "/lab/eclipse/dyncall/rdyncall/inst/dynports/GL.json"
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 x <- parseJSON(testfile)
0cfcc391201f initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 # print(glinfo)