aboutsummaryrefslogtreecommitdiff
path: root/std/json.zig
diff options
context:
space:
mode:
authorMarc Tiehuis <marctiehuis@gmail.com>2019-02-16 15:04:37 +1300
committerGitHub <noreply@github.com>2019-02-16 15:04:37 +1300
commit77a4e7b37468ee7fb5dd3193972050808732f66c (patch)
treebf3a148e083b4414c32f7795f751b90f5ceec91e /std/json.zig
parent5736a9c6a9b357ab346dd8fcbe64f5d729d6d244 (diff)
parent170ec504ec3201a89cb8121ea59e5d845f5cd1d1 (diff)
downloadzig-77a4e7b37468ee7fb5dd3193972050808732f66c.tar.gz
zig-77a4e7b37468ee7fb5dd3193972050808732f66c.zip
Merge pull request #1958 from ziglang/parse-float
Add float parsing support to std
Diffstat (limited to 'std/json.zig')
-rw-r--r--std/json.zig8
1 files changed, 6 insertions, 2 deletions
diff --git a/std/json.zig b/std/json.zig
index d8f28560e5..dd053e7635 100644
--- a/std/json.zig
+++ b/std/json.zig
@@ -1345,7 +1345,7 @@ pub const Parser = struct {
return if (token.number_is_integer)
Value{ .Integer = try std.fmt.parseInt(i64, token.slice(input, i), 10) }
else
- @panic("TODO: fmt.parseFloat not yet implemented");
+ Value{ .Float = try std.fmt.parseFloat(f64, token.slice(input, i)) };
}
};
@@ -1366,7 +1366,8 @@ test "json.parser.dynamic" {
\\ },
\\ "Animated" : false,
\\ "IDs": [116, 943, 234, 38793],
- \\ "ArrayOfObject": [{"n": "m"}]
+ \\ "ArrayOfObject": [{"n": "m"}],
+ \\ "double": 1.3412
\\ }
\\}
;
@@ -1395,4 +1396,7 @@ test "json.parser.dynamic" {
const obj0 = array_of_object.Array.at(0).Object.get("n").?.value;
testing.expect(mem.eql(u8, obj0.String, "m"));
+
+ const double = image.Object.get("double").?.value;
+ testing.expect(double.Float == 1.3412);
}