- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
91 lines
4.0 KiB
Java
91 lines
4.0 KiB
Java
package com.amazonaws.util.json;
|
|
|
|
import com.amazonaws.AmazonClientException;
|
|
import java.io.IOException;
|
|
import java.io.Reader;
|
|
import java.io.StringWriter;
|
|
import java.io.Writer;
|
|
import java.util.Collections;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
/* loaded from: classes.dex */
|
|
public abstract class JsonUtils {
|
|
public static final AwsJsonFactory FACTORY = new GsonFactory();
|
|
|
|
public static AwsJsonReader getJsonReader(Reader reader) {
|
|
return FACTORY.getJsonReader(reader);
|
|
}
|
|
|
|
public static AwsJsonWriter getJsonWriter(Writer writer) {
|
|
return FACTORY.getJsonWriter(writer);
|
|
}
|
|
|
|
public static Map jsonToStringMapWithList(Reader reader) {
|
|
AwsJsonReader jsonReader = getJsonReader(reader);
|
|
try {
|
|
if (jsonReader.peek() == null) {
|
|
return Collections.EMPTY_MAP;
|
|
}
|
|
HashMap hashMap = new HashMap();
|
|
jsonReader.beginObject();
|
|
while (jsonReader.hasNext()) {
|
|
String nextName = jsonReader.nextName();
|
|
if (jsonReader.isContainer()) {
|
|
if (AwsJsonToken.BEGIN_ARRAY.equals(jsonReader.peek())) {
|
|
StringWriter stringWriter = new StringWriter();
|
|
AwsJsonWriter jsonWriter = getJsonWriter(stringWriter);
|
|
jsonReader.beginArray();
|
|
jsonWriter.beginArray();
|
|
while (true) {
|
|
try {
|
|
AwsJsonToken awsJsonToken = AwsJsonToken.END_ARRAY;
|
|
if (awsJsonToken.equals(jsonReader.peek())) {
|
|
break;
|
|
}
|
|
AwsJsonToken peek = jsonReader.peek();
|
|
if (AwsJsonToken.BEGIN_OBJECT.equals(peek)) {
|
|
jsonReader.beginObject();
|
|
jsonWriter.beginObject();
|
|
} else if (AwsJsonToken.FIELD_NAME.equals(peek)) {
|
|
String nextName2 = jsonReader.nextName();
|
|
if (!AwsJsonToken.BEGIN_ARRAY.equals(jsonReader.peek())) {
|
|
jsonWriter.name(nextName2);
|
|
}
|
|
} else if (AwsJsonToken.END_OBJECT.equals(peek)) {
|
|
jsonReader.endObject();
|
|
jsonWriter.endObject();
|
|
} else if (awsJsonToken.equals(peek)) {
|
|
jsonReader.endArray();
|
|
jsonWriter.endArray();
|
|
} else {
|
|
if (!AwsJsonToken.VALUE_STRING.equals(peek) && !AwsJsonToken.VALUE_NUMBER.equals(peek) && !AwsJsonToken.VALUE_NULL.equals(peek) && !AwsJsonToken.VALUE_BOOLEAN.equals(peek)) {
|
|
jsonReader.skipValue();
|
|
}
|
|
jsonWriter.value(jsonReader.nextString());
|
|
}
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
jsonReader.endArray();
|
|
jsonWriter.endArray();
|
|
jsonWriter.flush();
|
|
jsonWriter.close();
|
|
hashMap.put(nextName, stringWriter.toString());
|
|
} else {
|
|
jsonReader.skipValue();
|
|
}
|
|
} else {
|
|
hashMap.put(nextName, jsonReader.nextString());
|
|
}
|
|
}
|
|
jsonReader.endObject();
|
|
jsonReader.close();
|
|
return Collections.unmodifiableMap(hashMap);
|
|
} catch (IOException e2) {
|
|
throw new AmazonClientException("Unable to parse JSON String.", e2);
|
|
}
|
|
}
|
|
}
|