次の 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_float の代わりに as_int を使用すると、データが正しく解析されます。このバグは as_float メソッドでのみ発生するようです。