diff options
Diffstat (limited to 'base/json')
-rw-r--r-- | base/json/json_reader.cc | 5 | ||||
-rw-r--r-- | base/json/json_writer.cc | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/base/json/json_reader.cc b/base/json/json_reader.cc index cf9ce02..1255ac5 100644 --- a/base/json/json_reader.cc +++ b/base/json/json_reader.cc @@ -7,6 +7,7 @@ #include "base/float_util.h" #include "base/logging.h" #include "base/scoped_ptr.h" +#include "base/string_number_conversions.h" #include "base/string_util.h" #include "base/utf_string_conversions.h" #include "base/values.h" @@ -401,11 +402,11 @@ Value* JSONReader::DecodeNumber(const Token& token) { const std::wstring num_string(token.begin, token.length); int num_int; - if (StringToInt(WideToUTF16Hack(num_string), &num_int)) + if (StringToInt(WideToUTF8(num_string), &num_int)) return Value::CreateIntegerValue(num_int); double num_double; - if (StringToDouble(WideToUTF16Hack(num_string), &num_double) && + if (StringToDouble(WideToUTF8(num_string), &num_double) && base::IsFinite(num_double)) return Value::CreateRealValue(num_double); diff --git a/base/json/json_writer.cc b/base/json/json_writer.cc index ffdad76..fa43953 100644 --- a/base/json/json_writer.cc +++ b/base/json/json_writer.cc @@ -7,6 +7,7 @@ #include "base/json/string_escape.h" #include "base/logging.h" #include "base/string_util.h" +#include "base/string_number_conversions.h" #include "base/values.h" #include "base/utf_string_conversions.h" |