Support parsing Strings with numeric types, closes #54

This commit is contained in:
kimchy 2010-03-10 00:40:11 +02:00
parent baaac70da5
commit ae5bcb6d2e
5 changed files with 25 additions and 5 deletions

View File

@ -159,7 +159,11 @@ public class JsonBoostFieldMapper extends JsonNumberFieldMapper<Float> implement
}
value = nullValue;
} else {
value = jsonContext.jp().getFloatValue();
if (jsonContext.jp().getCurrentToken() == JsonToken.VALUE_STRING) {
value = Float.parseFloat(jsonContext.jp().getText());
} else {
value = jsonContext.jp().getFloatValue();
}
}
return value;
}

View File

@ -116,7 +116,11 @@ public class JsonDoubleFieldMapper extends JsonNumberFieldMapper<Double> {
}
value = nullValue;
} else {
value = jsonContext.jp().getDoubleValue();
if (jsonContext.jp().getCurrentToken() == JsonToken.VALUE_STRING) {
value = Double.parseDouble(jsonContext.jp().getText());
} else {
value = jsonContext.jp().getDoubleValue();
}
}
Field field = null;
if (stored()) {

View File

@ -116,7 +116,11 @@ public class JsonFloatFieldMapper extends JsonNumberFieldMapper<Float> {
}
value = nullValue;
} else {
value = jsonContext.jp().getFloatValue();
if (jsonContext.jp().getCurrentToken() == JsonToken.VALUE_STRING) {
value = Float.parseFloat(jsonContext.jp().getText());
} else {
value = jsonContext.jp().getFloatValue();
}
}
Field field = null;
if (stored()) {

View File

@ -115,7 +115,11 @@ public class JsonIntegerFieldMapper extends JsonNumberFieldMapper<Integer> {
}
value = nullValue;
} else {
value = jsonContext.jp().getIntValue();
if (jsonContext.jp().getCurrentToken() == JsonToken.VALUE_STRING) {
value = Integer.parseInt(jsonContext.jp().getText());
} else {
value = jsonContext.jp().getIntValue();
}
}
Field field = null;
if (stored()) {

View File

@ -115,7 +115,11 @@ public class JsonLongFieldMapper extends JsonNumberFieldMapper<Long> {
}
value = nullValue;
} else {
value = jsonContext.jp().getLongValue();
if (jsonContext.jp().getCurrentToken() == JsonToken.VALUE_STRING) {
value = Long.parseLong(jsonContext.jp().getText());
} else {
value = jsonContext.jp().getLongValue();
}
}
Field field = null;
if (stored()) {