annotate R/scratch/test_json.R @ 28:edbbd467f50a

python binding: - update to dyncall 1.1 - Python 3 support (supports both, Python 2 and 3) - using the Capsule API over PyCObject, when available - support for python unicode strings (for both, Python 2 and 3) - doc cleanup ruby binding: - doc cleanup
author Tassilo Philipp
date Tue, 07 Apr 2020 21:16: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)