-
Notifications
You must be signed in to change notification settings - Fork 53
Expand file tree
/
Copy pathBinaryJson.java
More file actions
42 lines (32 loc) · 1.36 KB
/
BinaryJson.java
File metadata and controls
42 lines (32 loc) · 1.36 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
package movie;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.StringReader;
import oracle.sql.json.OracleJsonFactory;
import oracle.sql.json.OracleJsonGenerator;
import oracle.sql.json.OracleJsonObject;
import oracle.sql.json.OracleJsonParser;
/**
* Encodes JSON text as Oracle binary JSON, stores it in a file, and then reads
* it back again.
*/
public class BinaryJson {
public static void main(String[] args) throws IOException {
File osonFile = new File("data/ironman.oson");
OracleJsonFactory factory = new OracleJsonFactory();
String json = "{\"name\":\"Iron Man\", \"genre\": \"Action\", \"gross\": 585366247}";
OracleJsonParser parser = factory.createJsonTextParser(new StringReader(json));
FileOutputStream out = new FileOutputStream(osonFile);
OracleJsonGenerator gen = factory.createJsonBinaryGenerator(out);
gen.writeParser(parser);
gen.close();
System.out.println("Wrote binary JSON file ironman.oson");
FileInputStream in = new FileInputStream(osonFile);
OracleJsonObject obj = factory.createJsonBinaryValue(in).asJsonObject();
in.close();
System.out.println("Read binary JSON file ironman.oson");
System.out.println(obj);
}
}