我正在尝试解析以下 JSON 数据(使用 JSON.stringify 创建)。我正在使用 libJSON 7。我的代码如下:
wstring jsonstr = _T("{\"Id\":0,\"Note\":\"\",\"Username\":\"user\",\"Password\":\"pass\",\"Enabled\":true,\"ProfileId\":\"\",\"UserAgent\":\"\",\"LastUsage\":0,\"Failures\":0,\"Abuses\":0}");
JSONNode jsondata = libjson::parse(jsonstr);
auto i = jsondata.begin();
auto num = i->as_float();
int idIsNan = _isnan(num);// Nonzero here
现在我希望 num == (double)0,但是,它等于 1.#QNAN00000000000。有谁知道如何绕过这个错误?此外,如果我使用 as_int 而不是 as_float,它会正确解析数据;所以,看起来这个错误只发生在 as_float 方法上。