
com.jsoniter.any.StringAny Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jsoniter Show documentation
Show all versions of jsoniter Show documentation
jsoniter (json-iterator) is fast and flexible JSON parser available in Java and Go
package com.jsoniter.any;
import com.jsoniter.ValueType;
import com.jsoniter.output.JsonStream;
import java.io.IOException;
class StringAny extends Any {
private final static String FALSE = "false";
private String val;
public StringAny(String val) {
this.val = val;
}
@Override
public ValueType valueType() {
return ValueType.STRING;
}
@Override
public Object object() {
return val;
}
public Any set(String newVal) {
val = newVal;
return this;
}
@Override
public void writeTo(JsonStream stream) throws IOException {
stream.writeVal(val);
}
@Override
public boolean toBoolean() {
int len = val.length();
if (len == 0) {
return false;
}
if (len == 5 && FALSE.equals(val)) {
return false;
}
for (int i = 0; i < len; i++) {
switch (val.charAt(i)) {
case ' ':
case '\t':
case '\n':
case '\r':
continue;
default:
return true;
}
}
return false;
}
@Override
public int toInt() {
return Integer.valueOf(val);
}
@Override
public long toLong() {
return Long.valueOf(val);
}
@Override
public float toFloat() {
return Float.valueOf(val);
}
@Override
public double toDouble() {
return Double.valueOf(val);
}
@Override
public String toString() {
return val;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy