Initial commit
This commit is contained in:
57
sources/com/google/android/gms/common/util/JsonUtils.java
Normal file
57
sources/com/google/android/gms/common/util/JsonUtils.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package com.google.android.gms.common.util;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class JsonUtils {
|
||||
private static final Pattern a;
|
||||
|
||||
static {
|
||||
Pattern.compile("\\\\.");
|
||||
a = Pattern.compile("[\\\\\"/\b\f\n\r\t]");
|
||||
}
|
||||
|
||||
public static String a(String str) {
|
||||
if (TextUtils.isEmpty(str)) {
|
||||
return str;
|
||||
}
|
||||
Matcher matcher = a.matcher(str);
|
||||
StringBuffer stringBuffer = null;
|
||||
while (matcher.find()) {
|
||||
if (stringBuffer == null) {
|
||||
stringBuffer = new StringBuffer();
|
||||
}
|
||||
char charAt = matcher.group().charAt(0);
|
||||
if (charAt == '\f') {
|
||||
matcher.appendReplacement(stringBuffer, "\\\\f");
|
||||
} else if (charAt == '\r') {
|
||||
matcher.appendReplacement(stringBuffer, "\\\\r");
|
||||
} else if (charAt == '\"') {
|
||||
matcher.appendReplacement(stringBuffer, "\\\\\\\"");
|
||||
} else if (charAt == '/') {
|
||||
matcher.appendReplacement(stringBuffer, "\\\\/");
|
||||
} else if (charAt != '\\') {
|
||||
switch (charAt) {
|
||||
case '\b':
|
||||
matcher.appendReplacement(stringBuffer, "\\\\b");
|
||||
break;
|
||||
case '\t':
|
||||
matcher.appendReplacement(stringBuffer, "\\\\t");
|
||||
break;
|
||||
case '\n':
|
||||
matcher.appendReplacement(stringBuffer, "\\\\n");
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
matcher.appendReplacement(stringBuffer, "\\\\\\\\");
|
||||
}
|
||||
}
|
||||
if (stringBuffer == null) {
|
||||
return str;
|
||||
}
|
||||
matcher.appendTail(stringBuffer);
|
||||
return stringBuffer.toString();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user