Support nan in the json tokenizer

flatbuffers renders nan as a literal nan in the json file.

Change-Id: Ife76397f8af12a03d382ca364870d8e7cb332fc1
diff --git a/aos/json_to_flatbuffer_test.cc b/aos/json_to_flatbuffer_test.cc
index 84ac0ed..6c76b02 100644
--- a/aos/json_to_flatbuffer_test.cc
+++ b/aos/json_to_flatbuffer_test.cc
@@ -66,6 +66,12 @@
   EXPECT_TRUE(JsonAndBack("{ \"foo_string\": \"baz\" }"));
 }
 
+// Tests that NaN is handled correctly
+TEST_F(JsonToFlatbufferTest, Nan) {
+  EXPECT_TRUE(JsonAndBack("{ \"foo_float\": nan }"));
+  EXPECT_TRUE(JsonAndBack("{ \"foo_float\": -nan }"));
+}
+
 // Tests that we can handle decimal points.
 TEST_F(JsonToFlatbufferTest, DecimalPoint) {
   EXPECT_TRUE(JsonAndBack("{ \"foo_float\": 5.1 }"));