Java Code Examples for javax.json.stream.JsonParser#getString()

The following examples show how to use javax.json.stream.JsonParser#getString() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: MessageDecoder.java    From javaee7-websocket with MIT License 6 votes vote down vote up
@Override
public boolean willDecode(String string) {
    boolean decodes = false;
    /* Convert the message into a map */
    messageMap = new HashMap<>();
    JsonParser parser = Json.createParser(new StringReader(string));
    while (parser.hasNext()) {
        if (parser.next() == JsonParser.Event.KEY_NAME) {
            String key = parser.getString();
            parser.next();
            String value = parser.getString();
            messageMap.put(key, value);
        }
    }
    /* Check the kind of message and if all fields are included */
    Set keys = messageMap.keySet();
    if (keys.contains("type")) {
        switch (messageMap.get("type")) {
            case "betMatchWinner":
                if (keys.contains("name"))
                    decodes = true;
                break;
        }
    }
    return decodes;
}
 
Example 2
Source File: JsonXmlReader.java    From iaf with Apache License 2.0 6 votes vote down vote up
public boolean parse(String key, JsonParser parser) throws IOException, SAXException {
	Event event = parser.next();
	if (event.equals(Event.START_OBJECT)) {
		startElement("map", key);
		while ((event = parser.next())!=Event.END_OBJECT) {
			if (event!=Event.KEY_NAME) {
				throw new SAXException("expected key name at "+parser.getLocation());
			}
			key=parser.getString();
			parse(key,parser);
		};
		endElement("map");
	} else if (event==Event.END_ARRAY) {
		return false;
	} else if (event==Event.START_ARRAY) {
		startElement("array", key);
		while (parse(null,parser)); // parse array elements until the close
		endElement("array");
	} else {
		if (event==Event.VALUE_NULL) {
			simpleElement("null", key, null);
		} else {
			if (event==Event.VALUE_FALSE) {
				simpleElement("boolean", key, "false");
			} else {
				if (event==Event.VALUE_TRUE) {
					simpleElement("boolean", key, "true");
				} else {
					String value =parser.getString();
					if (event==Event.VALUE_NUMBER) {
						simpleElement("number", key, value);
					} else {
						simpleElement("string", key, value);
					}
				}
			}
		}
	}
	return true;
}
 
Example 3
Source File: BookDeserializer.java    From Java-EE-8-Sampler with MIT License 6 votes vote down vote up
@Override
public Book deserialize(JsonParser parser, DeserializationContext ctx, Type rtType) {
    Book book = null;
    while (parser.hasNext()) {
        JsonParser.Event event = parser.next();
        if (event == JsonParser.Event.KEY_NAME) {
            String className = parser.getString();
            parser.next();
            try {
                book = ctx.deserialize(Class.forName(className).asSubclass(Book.class), parser);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
        }
    }
    return book;
}
 
Example 4
Source File: BookDeserializer.java    From Java-EE-8-Sampler with MIT License 5 votes vote down vote up
@Override
public String deserialize(JsonParser parser, DeserializationContext ctx, Type rtType) {
    while (parser.hasNext()) {
        JsonParser.Event event = parser.next();
        if (event == JsonParser.Event.KEY_NAME) {
            String keyName = parser.getString();
            if (keyName.equals("id")) {
                return ctx.deserialize(String.class, parser);
            }
        }
        parser.next();
    }
    return "";
}
 
Example 5
Source File: JsonUnitTest.java    From tutorials with MIT License 5 votes vote down vote up
@Test
public void whenUsingStreamingApiToQueryForSpecificProperty_thenExpectedValueIsReturned(
        ) throws IOException, ParseException {
    JsonParser jsonParser = Json.createParser(new StringReader(petshopJson));
    
    int count = 0;
    String result = null;
    
    while(jsonParser.hasNext()) {
        Event e = jsonParser.next();
        
        if (e == Event.KEY_NAME) {
            if(jsonParser.getString().equals("name")) {
               jsonParser.next();
               
               if(++count == 3) {
                   result = jsonParser.getString();
                   break;
               }
            }   
        }
    }
    
    assertEquals(
            "The query should return the 'name' property of the third pet from the list", 
            "Jake", 
            result);
}
 
Example 6
Source File: ActionMessage.java    From sample.daytrader7 with Apache License 2.0 5 votes vote down vote up
public void doDecoding(String jsonText) {
          
    String keyName = null;
    try 
    {
        // JSON parse
        JsonParser parser = Json.createParser(new StringReader(jsonText));
        while (parser.hasNext()) {
            JsonParser.Event event = parser.next();
            switch(event) {
            case KEY_NAME:
                keyName=parser.getString();
                break;
            case VALUE_STRING:
                if (keyName != null && keyName.equals("action")) {
                    decodedAction=parser.getString();
                }
                break;
            default:
                break;
            }
        }
    } catch (Exception e) {
        Log.error("ActionMessage:doDecoding(" + jsonText + ") --> failed", e);
    }
    
    if (Log.doTrace()) {
        if (decodedAction != null ) {
            Log.trace("ActionMessage:doDecoding -- decoded action -->" + decodedAction + "<--");
        } else {
            Log.trace("ActionMessage:doDecoding -- decoded action -->null<--");
        }
    }
    
}
 
Example 7
Source File: JsonpTest.java    From ee8-sandbox with Apache License 2.0 5 votes vote down vote up
@Test
public void testJsonParser() {
    String key = "";
    String value = "";
    JsonParser parser = Json.createParser(JsonpTest.class.getResourceAsStream("/person.json"));
    while (parser.hasNext()) {
        JsonParser.Event e = parser.next();
        System.out.print(e.name());

        switch (e) {
            case START_ARRAY:
                if (key.equals("phoneNumbers")) {
                    parser.skipArray();
                }
                break;
            case KEY_NAME:
                key = parser.getString();
                System.out.print(" - " + parser.getString());
                break;
            case VALUE_STRING:
                System.out.print(" - " + parser.getString());
                if ("name".equals(key)) {
                    value = parser.getString();
                }
        }

        System.out.println();
    }

    assertEquals("Duke", value);
}
 
Example 8
Source File: AbstractDeserializer.java    From robozonky with Apache License 2.0 5 votes vote down vote up
@Override
public T deserialize(JsonParser parser, DeserializationContext ctx, Type rtType) {
    try {
        var id = parser.getString();
        return converter.apply(id);
    } catch (final Exception ex) {
        logger.warn("Received unknown value from Zonky: '{}'. This may be a problem, but we continue.",
                parser.getString());
        return defaultValue;
    }
}
 
Example 9
Source File: CustomConfigSource.java    From microprofile-sandbox with Apache License 2.0 5 votes vote down vote up
public Map<String, String> getProperties() {
    Map<String, String> m = new HashMap<String, String>();
    String jsonData = this.readFile(this.fileLocation);
    JsonParser parser = Json.createParser(new StringReader(jsonData));
    String key = null;
    while (parser.hasNext()) {
        final Event event = parser.next();
        switch (event) {
        case KEY_NAME:
            key = parser.getString();
            break;
        case VALUE_STRING:
            String string = parser.getString();
            m.put(key, string);
            break;
        case VALUE_NUMBER:
            BigDecimal number = parser.getBigDecimal();
            m.put(key, number.toString());
            break;
        case VALUE_TRUE:
            m.put(key, "true");
            break;
        case VALUE_FALSE:
            m.put(key, "false");
            break;
        default:
            break;
        }
    }
    parser.close();
    return m;
}
 
Example 10
Source File: Index.java    From FHIR with Apache License 2.0 5 votes vote down vote up
public void load(Reader reader) {
    JsonParser parser = PARSER_FACTORY.createParser(reader);

    String keyName = null;
    while (parser.hasNext()) {
        Event event = parser.next();
        switch (event) {
        case KEY_NAME:
            keyName = parser.getString();
            break;
        case VALUE_NUMBER:
            if ("index-version".equals(keyName)) {
                version = parser.getInt();
            }
        case START_ARRAY:
            if ("files".equals(keyName)) {
                parseFiles(parser);
            }
            break;
        default:
            break;
        }
    }

    parser.close();

    if (version < 1) {
        throw new IllegalStateException("index version was not set");
    }
}
 
Example 11
Source File: ObjectIdDeserializer.java    From quarkus with Apache License 2.0 5 votes vote down vote up
@Override
public ObjectId deserialize(JsonParser parser, DeserializationContext ctx, Type rtType) {
    String id = parser.getString();
    if (id != null) {
        return new ObjectId(id);
    }
    return null;
}
 
Example 12
Source File: Pet.java    From openapi-generator with Apache License 2.0 5 votes vote down vote up
@Override
public StatusEnum deserialize(JsonParser parser, DeserializationContext ctx, Type rtType) {
    for (StatusEnum b : StatusEnum.values()) {
        if (String.valueOf(b.value).equals(parser.getString())) {
            return b;
        }
    }
    throw new IllegalArgumentException("Unexpected value '" + parser.getString() + "'");
}
 
Example 13
Source File: Order.java    From openapi-generator with Apache License 2.0 5 votes vote down vote up
@Override
public StatusEnum deserialize(JsonParser parser, DeserializationContext ctx, Type rtType) {
    for (StatusEnum b : StatusEnum.values()) {
        if (String.valueOf(b.value).equals(parser.getString())) {
            return b;
        }
    }
    throw new IllegalArgumentException("Unexpected value '" + parser.getString() + "'");
}
 
Example 14
Source File: CustomConfigSource.java    From boost with Eclipse Public License 1.0 5 votes vote down vote up
public Map<String, String> getProperties() {
    Map<String, String> m = new HashMap<String, String>();
    String jsonData = this.readFile(this.fileLocation);
    JsonParser parser = Json.createParser(new StringReader(jsonData));
    String key = null;
    while (parser.hasNext()) {
        final Event event = parser.next();
        switch (event) {
        case KEY_NAME:
            key = parser.getString();
            break;
        case VALUE_STRING:
            String string = parser.getString();
            m.put(key, string);
            break;
        case VALUE_NUMBER:
            BigDecimal number = parser.getBigDecimal();
            m.put(key, number.toString());
            break;
        case VALUE_TRUE:
            m.put(key, "true");
            break;
        case VALUE_FALSE:
            m.put(key, "false");
            break;
        default:
            break;
        }
    }
    parser.close();
    return m;
}
 
Example 15
Source File: CustomConfigSource.java    From boost with Eclipse Public License 1.0 5 votes vote down vote up
public Map<String, String> getProperties() {
    Map<String, String> m = new HashMap<String, String>();
    String jsonData = this.readFile(this.fileLocation);
    JsonParser parser = Json.createParser(new StringReader(jsonData));
    String key = null;
    while (parser.hasNext()) {
        final Event event = parser.next();
        switch (event) {
        case KEY_NAME:
            key = parser.getString();
            break;
        case VALUE_STRING:
            String string = parser.getString();
            m.put(key, string);
            break;
        case VALUE_NUMBER:
            BigDecimal number = parser.getBigDecimal();
            m.put(key, number.toString());
            break;
        case VALUE_TRUE:
            m.put(key, "true");
            break;
        case VALUE_FALSE:
            m.put(key, "false");
            break;
        default:
            break;
        }
    }
    parser.close();
    return m;
}
 
Example 16
Source File: EmployeeJSONParser.java    From journaldev with MIT License 4 votes vote down vote up
public static void main(String[] args) throws IOException {
	InputStream fis = new FileInputStream(FILE_NAME);

	JsonParser jsonParser = Json.createParser(fis);

	/**
	 * We can create JsonParser from JsonParserFactory also with below code
	 * JsonParserFactory factory = Json.createParserFactory(null);
	 * jsonParser = factory.createParser(fis);
	 */

	Employee emp = new Employee();
	Address address = new Address();
	String keyName = null;
	List<Long> phoneNums = new ArrayList<Long>();
	
	while (jsonParser.hasNext()) {
		Event event = jsonParser.next();
		switch (event) {
		case KEY_NAME:
			keyName = jsonParser.getString();
			break;
		case VALUE_STRING:
			setStringValues(emp, address, keyName, jsonParser.getString());
			break;
		case VALUE_NUMBER:
			setNumberValues(emp, address, keyName, jsonParser.getLong(), phoneNums);
			break;
		case VALUE_FALSE:
			setBooleanValues(emp, address, keyName, false);
			break;
		case VALUE_TRUE:
			setBooleanValues(emp, address, keyName, true);
			break;
		case VALUE_NULL:
			// don't set anything
			break;
		default:
			// we are not looking for other events
		}
	}
	emp.setAddress(address);
	long[] nums = new long[phoneNums.size()];
	int index = 0;
	for(Long l :phoneNums){
		nums[index++] = l;
	}
	emp.setPhoneNumbers(nums);
	
	System.out.println(emp);
	
	//close resources
	fis.close();
	jsonParser.close();
}
 
Example 17
Source File: Index.java    From FHIR with Apache License 2.0 4 votes vote down vote up
private void parseFile(JsonParser parser) {
    String fileName = null;
    String resourceType = null;
    String id = null;
    String url = null;
    String version = null;
    String kind = null;
    String type = null;

    String keyName = null;
    while (parser.hasNext()) {
        Event event = parser.next();
        switch (event) {
        case KEY_NAME:
            keyName = parser.getString();
            break;
        case VALUE_STRING:
            switch (keyName) {
            case "filename":
                fileName = parser.getString();
                break;
            case "resourceType":
                resourceType = parser.getString();
                break;
            case "id":
                id = parser.getString();
                break;
            case "url":
                url = parser.getString();
                break;
            case "version":
                version = parser.getString();
                break;
            case "kind":
                kind = parser.getString();
                break;
            case "type":
                type = parser.getString();
                break;
            }
            break;
        case END_OBJECT:
            entries.add(new Entry(fileName, resourceType, id, url, version, kind, type));
            return;
        default:
            break;
        }
    }
}