List of usage examples for com.google.gson.stream JsonReader beginObject
public void beginObject() throws IOException
From source file:data.Task1bData.java
License:Apache License
private ArrayList<Snippet> readSnippets(JsonReader reader) { ArrayList<Snippet> snippets = new ArrayList<Snippet>(); try {/*from w ww .j a v a 2s . c o m*/ reader.beginArray(); while (reader.hasNext()) { reader.beginObject(); String document = "", fnameBegin = "", fnameEnd = "", text = ""; int beginIndex = 0; int endIndex = 0; while (reader.hasNext()) { String name = reader.nextName(); if (name.equals("offsetInBeginSection")) { beginIndex = reader.nextInt(); } else if (name.equals("offsetInEndSection")) { endIndex = reader.nextInt(); } else if (name.equals("document")) { document = reader.nextString(); } else if (name.equals("beginSection")) { fnameBegin = reader.nextString(); fnameBegin = fnameBegin.substring(fnameBegin.indexOf('.') + 1); } else if (name.equals("endSection")) { fnameEnd = reader.nextString(); fnameEnd = fnameEnd.substring(fnameEnd.indexOf('.') + 1); } else if (name.equals("text")) { text = reader.nextString(); } else { //System.out.println("Unknown field "+name +" in snippet"); } } Snippet sn = new Snippet(document, text, fnameBegin, fnameEnd, beginIndex, endIndex); reader.endObject(); snippets.add(sn); } reader.endArray(); } catch (IOException ex) { } return snippets; }
From source file:data.TaskADataParser.java
License:Apache License
/** * //from w ww . j a va 2 s .c o m * Return a json reader and opens the array * */ public static JsonReader streamParser(String jsonFile) throws IOException { int count = 0; int abstract_count = 0; int duplicates = 0; JsonReader reader = null; try { reader = new JsonReader(new InputStreamReader(new FileInputStream(jsonFile))); reader.setLenient(true); reader.beginObject(); String nam = reader.nextName(); System.out.println(nam); reader.beginArray(); } catch (Exception ex) { System.out.println("File not found"); System.out.println(ex.toString()); } return reader; }
From source file:data.TaskADataParser.java
License:Apache License
public static PubMedDocument getNextDocument(JsonReader reader) { String text = null;/* w w w . ja va 2 s . co m*/ String title = null; String pmid = null; String journal = null; String[] meshMajor = null; try { if (reader.hasNext()) { reader.beginObject(); while (reader.hasNext()) { String name = reader.nextName(); if (name.equals("abstractText")) { text = reader.nextString(); } else if (name.equals("journal")) { journal = reader.nextString(); } else if (name.equals("meshMajor")) { meshMajor = readLabelsArray(reader); } else if (name.equals("pmid")) { pmid = reader.nextString(); } else if (name.equals("title")) { title = reader.nextString(); } else if (name.equals("year")) { reader.skipValue(); } else { System.out.println(name); reader.skipValue(); } } reader.endObject(); } } catch (Exception ex) { } return new PubMedDocument(text, title, pmid, journal, meshMajor); }
From source file:de.dentrassi.eclipse.provider.eclipse.ValueAdapter.java
License:Open Source License
@Override public String read(final JsonReader in) throws IOException { if (in.peek() == JsonToken.NULL) { return null; }//from ww w .jav a2 s.co m String result = null; in.beginArray(); while (in.hasNext()) { in.beginObject(); while (in.hasNext()) { final String name = in.nextName(); if ("value".equals(name)) { result = in.nextString(); } else { in.skipValue(); } } in.endObject(); } in.endArray(); return result; }
From source file:de.loercher.geomodule.cloudant.CloudantGeoSearchStream.java
private void extractEntities(BufferedReader bufferedReader) throws JSONParseException { JsonReader reader = new JsonReader(bufferedReader); try {// ww w. ja va 2s . com reader.beginObject(); String arrayName = null; while (reader.hasNext() && !("features".equals(arrayName))) { arrayName = reader.nextName(); if ("bookmark".equals(arrayName)) { bookmark = reader.nextString(); } else if (!("features".equals(arrayName))) { reader.skipValue(); } } if ("features".equals(arrayName)) { reader.beginArray(); while (reader.hasNext()) { Gson gson = new Gson(); CloudantArticleEntity entity = gson.fromJson(reader, CloudantArticleEntity.class); // Duplicates should not be returned if (!(alreadyAvailableIds.contains(entity.getId()))) { bufferedEntities.add(entity); } alreadyAvailableIds.add(entity.getId()); } reader.endArray(); reader.endObject(); reader.close(); } else { JSONParseException e = new JSONParseException( "Parsing of cloudant response failed. Tag 'features' not found. "); log.error(e.getLoggingString()); throw e; } } catch (IOException ex) { JSONParseException e = new JSONParseException("Parsing of cloudant response failed.", ex); log.error(e.getLoggingString()); throw e; } }
From source file:de.pribluda.android.jsonmarshaller.JSONUnmarshaller.java
License:Apache License
/** * unmarshall single JSON object/*from w ww. j a v a2 s. c o m*/ * * @param beanToBeCreatedClass * @param <T> * @return * @throws IllegalAccessException * @throws InstantiationException * @throws NoSuchMethodException * @throws InvocationTargetException */ public static <T> T unmarshall(JsonReader reader, java.lang.Class<T> beanToBeCreatedClass) throws IOException, NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException { // nothing there - bail out reader.beginObject(); if (reader.peek() == null) { return null; } T value = beanToBeCreatedClass.getConstructor().newInstance(); while (reader.hasNext()) { String key = reader.nextName(); // capitalise to standard setter pattern StringBuilder sb = new StringBuilder(); sb.append(SETTER_PREFIX).append(Character.toUpperCase(key.charAt(0))).append(key.substring(1)); String methodName = sb.toString(); Method method = getCandidateMethod(beanToBeCreatedClass, methodName); // must be kind of setter method if (method != null) { Class clazz = method.getParameterTypes()[0]; // as we have setter, we can process value Object v = unmarshalValue(reader, clazz); // can we use setter method directly? if (clazz.isAssignableFrom(v.getClass())) { method.invoke(value, v); continue; } Object obj = convertToObject(clazz, v); if (obj != null) method.invoke(value, obj); } else { // no suitable method was found - skip this value altogether reader.skipValue(); } } reader.endObject(); return value; }
From source file:de.sabian.objectstore.ObjectStoreRaw.java
License:Apache License
public <T, X> boolean fillMap(String identifier, Class<T> classOfKeys, Class<X> classOfValues, Map<T, X> map) throws IOException { if (contains(identifier)) { JsonReader jReader = new JsonReader(new StringReader(mJsonStorage.getJson(identifier))); jReader.beginArray();//from ww w . ja v a 2s . c om while (jReader.hasNext()) { jReader.beginObject(); String name = jReader.nextName(); if (!name.equals("key")) throw new IOException("expected name key but found: " + name); T key = mGson.fromJson(jReader, classOfKeys); name = jReader.nextName(); if (!name.equals("value")) throw new IOException("expected name value but found: " + name); X value = mGson.fromJson(jReader, classOfValues); jReader.endObject(); map.put(key, value); } jReader.endArray(); jReader.close(); return true; } else return false; }
From source file:edu.isi.karma.modeling.alignment.GraphUtil.java
License:Apache License
public static DirectedWeightedMultigraph<Node, DefaultLink> readGraph(JsonReader reader) throws IOException { DirectedWeightedMultigraph<Node, DefaultLink> graph = new DirectedWeightedMultigraph<Node, DefaultLink>( LabeledLink.class); Node n, source, target;/*w w w .j a v a2s . c o m*/ DefaultLink l; Double[] weight = new Double[1]; HashMap<String, Node> idToNodes = new HashMap<>(); reader.beginObject(); while (reader.hasNext()) { String key = reader.nextName(); if (key.equals("nodes") && reader.peek() != JsonToken.NULL) { reader.beginArray(); while (reader.hasNext()) { n = readNode(reader); if (n != null) { idToNodes.put(n.getId(), n); graph.addVertex(n); } } reader.endArray(); } else if (key.equals("links") && reader.peek() != JsonToken.NULL) { reader.beginArray(); while (reader.hasNext()) { l = readLink(reader, weight); if (l != null) { source = idToNodes.get(LinkIdFactory.getLinkSourceId(l.getId())); target = idToNodes.get(LinkIdFactory.getLinkTargetId(l.getId())); if (source != null && target != null) { graph.addEdge(source, target, l); if (weight[0] != null) graph.setEdgeWeight(l, weight[0].doubleValue()); } } } reader.endArray(); } else { reader.skipValue(); } } reader.endObject(); return graph; }
From source file:edu.isi.karma.modeling.alignment.GraphUtil.java
License:Apache License
private static Node readNode(JsonReader reader) throws IOException { String id = null;/* w ww . jav a 2s .c o m*/ Label label = null; NodeType type = null; String hNodeId = null; String columnName = null; Label rdfLiteralType = null; String language = null; Label datatype = null; String value = null; boolean isUri = false; SemanticType userSelectedSemanticType = null; List<SemanticType> learnedSemanticTypes = null; List<SemanticType> userSemanticTypes = null; Set<String> modelIds = null; reader.beginObject(); while (reader.hasNext()) { String key = reader.nextName(); if (key.equals("id") && reader.peek() != JsonToken.NULL) { id = reader.nextString(); } else if (key.equals("label") && reader.peek() != JsonToken.NULL) { label = readLabel(reader); } else if (key.equals("type") && reader.peek() != JsonToken.NULL) { type = NodeType.valueOf(reader.nextString()); } else if (key.equals("hNodeId") && reader.peek() != JsonToken.NULL) { hNodeId = reader.nextString(); } else if (key.equals("columnName") && reader.peek() != JsonToken.NULL) { columnName = reader.nextString(); } else if (key.equals("datatype") && reader.peek() != JsonToken.NULL) { datatype = readLabel(reader); } else if (key.equals("value") && reader.peek() != JsonToken.NULL) { value = reader.nextString(); } else if (key.equals("isUri") && reader.peek() != JsonToken.NULL) { isUri = Boolean.parseBoolean(reader.nextString()); } else if (key.equals("rdfLiteralType") && reader.peek() != JsonToken.NULL) { rdfLiteralType = readLabel(reader); } else if (key.equals("language") && reader.peek() != JsonToken.NULL) { language = reader.nextString(); } else if (key.equals("userSelectedSemanticType") && reader.peek() != JsonToken.NULL) { userSelectedSemanticType = readSemanticType(reader); } else if (key.equals("suggestedSemanticTypes") && reader.peek() != JsonToken.NULL) { learnedSemanticTypes = new ArrayList<>(); reader.beginArray(); while (reader.hasNext()) { SemanticType semanticType = readSemanticType(reader); learnedSemanticTypes.add(semanticType); } reader.endArray(); } else if (key.equals("userSemanticTypes") && reader.peek() != JsonToken.NULL) { userSemanticTypes = new ArrayList<>(); reader.beginArray(); while (reader.hasNext()) { SemanticType semanticType = readSemanticType(reader); userSemanticTypes.add(semanticType); } reader.endArray(); } else if (key.equals("learnedSemanticTypes") && reader.peek() != JsonToken.NULL) { learnedSemanticTypes = new ArrayList<>(); reader.beginArray(); while (reader.hasNext()) { SemanticType semanticType = readSemanticType(reader); learnedSemanticTypes.add(semanticType); } reader.endArray(); } else if (key.equals("modelIds") && reader.peek() != JsonToken.NULL) { modelIds = readModelIds(reader); } else { reader.skipValue(); } } reader.endObject(); Node n = null; if (type == NodeType.InternalNode) { n = new InternalNode(id, label); } else if (type == NodeType.ColumnNode) { n = new ColumnNode(id, hNodeId, columnName, rdfLiteralType, language); if (userSemanticTypes == null && userSelectedSemanticType != null) { userSemanticTypes = new ArrayList<>(); userSemanticTypes.add(userSelectedSemanticType); } if (userSemanticTypes != null) { for (SemanticType st : userSemanticTypes) ((ColumnNode) n).assignUserType(st); } ((ColumnNode) n).setLearnedSemanticTypes(learnedSemanticTypes); } else if (type == NodeType.LiteralNode) { n = new LiteralNode(id, value, datatype, language, isUri); } else { logger.error("cannot instanciate a node from the type: " + type.toString()); return null; } n.setModelIds(modelIds); return n; }
From source file:edu.isi.karma.modeling.alignment.GraphUtil.java
License:Apache License
private static DefaultLink readLink(JsonReader reader, Double[] weight) throws IOException { String id = null;// ww w . j a v a 2s. c o m Label label = null; LinkType type = null; String hNodeId = null; ObjectPropertyType objectPropertyType = null; String specializedLinkId = null; LinkStatus status = null; LinkKeyInfo keyInfo = null; Set<String> modelIds = null; if (weight == null) weight = new Double[1]; reader.beginObject(); while (reader.hasNext()) { String key = reader.nextName(); if (key.equals("id") && reader.peek() != JsonToken.NULL) { id = reader.nextString(); } else if (key.equals("label") && reader.peek() != JsonToken.NULL) { label = readLabel(reader); } else if (key.equals("type") && reader.peek() != JsonToken.NULL) { type = LinkType.valueOf(reader.nextString()); } else if (key.equals("hNodeId") && reader.peek() != JsonToken.NULL) { hNodeId = reader.nextString(); } else if (key.equals("objectPropertyType") && reader.peek() != JsonToken.NULL) { objectPropertyType = ObjectPropertyType.valueOf(reader.nextString()); } else if (key.equals("specializedLinkId") && reader.peek() != JsonToken.NULL) { specializedLinkId = reader.nextString(); } else if (key.equals("status") && reader.peek() != JsonToken.NULL) { status = LinkStatus.valueOf(reader.nextString()); } else if (key.equals("keyInfo") && reader.peek() != JsonToken.NULL) { keyInfo = LinkKeyInfo.valueOf(reader.nextString()); } else if (key.equals("modelIds") && reader.peek() != JsonToken.NULL) { modelIds = readModelIds(reader); } else if (key.equals("weight") && reader.peek() != JsonToken.NULL) { weight[0] = new Double(reader.nextDouble()); } else { reader.skipValue(); } } reader.endObject(); DefaultLink l = null; if (type == LinkType.ClassInstanceLink) { l = new ClassInstanceLink(id, keyInfo); } else if (type == LinkType.ColumnSubClassLink) { l = new ColumnSubClassLink(id); } else if (type == LinkType.DataPropertyLink) { l = new DataPropertyLink(id, label); } else if (type == LinkType.DataPropertyOfColumnLink) { l = new DataPropertyOfColumnLink(id, hNodeId, specializedLinkId); } else if (type == LinkType.ObjectPropertyLink) { l = new ObjectPropertyLink(id, label, objectPropertyType); } else if (type == LinkType.ObjectPropertySpecializationLink) { l = new ObjectPropertySpecializationLink(hNodeId, specializedLinkId); } else if (type == LinkType.SubClassLink) { l = new SubClassLink(id); } else if (type == LinkType.CompactObjectPropertyLink) { l = new CompactObjectPropertyLink(id, objectPropertyType); } else if (type == LinkType.CompactSubClassLink) { l = new CompactSubClassLink(id); } else { logger.error("cannot instanciate a link from the type: " + type.toString()); return null; } if (l instanceof LabeledLink) { ((LabeledLink) l).setStatus(status); ((LabeledLink) l).setModelIds(modelIds); } return l; }