Package org.apache.felix.utils.json
Class JSONParser
- java.lang.Object
-
- org.apache.felix.utils.json.JSONParser
-
public class JSONParser extends java.lang.ObjectA very small JSON parser. The JSON input is parsed into an object structure in the following way:- Object names are represented as a
String. - String values are represented as a
String. - Numeric values without a decimal separator are represented as a
Long. - Numeric values with a decimal separator are represented as a
Double. - Boolean values are represented as a
Boolean. - Nested JSON objects are parsed into a
Map<String, Object>. - JSON lists are parsed into a
Listwhich may contain any of the above values.
- Object names are represented as a
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classJSONParser.Pair<K,V>private static classJSONParser.Scope
-
Field Summary
Fields Modifier and Type Field Description private static java.util.regex.PatternKEY_VALUE_PATTERNprivate java.lang.Objectparsed
-
Constructor Summary
Constructors Constructor Description JSONParser(java.io.InputStream is)JSONParser(java.lang.CharSequence json)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<java.lang.String,java.lang.Object>getParsed()java.util.List<java.lang.Object>getParsedList()private static JSONParser.Pair<java.lang.String,java.lang.Object>parseKeyValue(java.lang.String jsonKeyValue)private static java.util.List<java.lang.String>parseKeyValueListRaw(java.lang.String jsonKeyValueList)private static java.util.List<java.lang.String>parseListValuesRaw(java.lang.String jsonList)private static java.lang.ObjectparseObject(java.lang.String jsonObject)private static java.lang.ObjectparseValue(java.lang.String jsonValue)private static byte[]readStream(java.io.InputStream is)Read an entire input stream into a byte array.private static java.lang.StringreadStreamAsString(java.io.InputStream is)private static java.lang.StringunEscapeString(java.lang.String s)
-
-
-
Method Detail
-
getParsed
public java.util.Map<java.lang.String,java.lang.Object> getParsed()
-
getParsedList
public java.util.List<java.lang.Object> getParsedList()
-
parseKeyValue
private static JSONParser.Pair<java.lang.String,java.lang.Object> parseKeyValue(java.lang.String jsonKeyValue)
-
parseValue
private static java.lang.Object parseValue(java.lang.String jsonValue)
-
unEscapeString
private static java.lang.String unEscapeString(java.lang.String s)
-
parseObject
private static java.lang.Object parseObject(java.lang.String jsonObject)
-
parseKeyValueListRaw
private static java.util.List<java.lang.String> parseKeyValueListRaw(java.lang.String jsonKeyValueList)
-
parseListValuesRaw
private static java.util.List<java.lang.String> parseListValuesRaw(java.lang.String jsonList)
-
readStream
private static byte[] readStream(java.io.InputStream is) throws java.io.IOExceptionRead an entire input stream into a byte array.- Parameters:
is- The input stream to read.- Returns:
- The byte array with the contents of the input stream.
- Throws:
java.io.IOException- if the underlying read operation on the input stream throws an error.
-
readStreamAsString
private static java.lang.String readStreamAsString(java.io.InputStream is) throws java.io.IOException- Throws:
java.io.IOException
-
-