diff --git a/Json5/Json5.cs b/Json5/Json5.cs index 81a742d..7619656 100644 --- a/Json5/Json5.cs +++ b/Json5/Json5.cs @@ -32,7 +32,16 @@ public static Json5Value Parse(string text, Func reviver) { - throw new NotImplementedException(); + Json5Parser parser = new Json5Parser(new StringReader(text)); + Json5Value value = parser.Parse(); + + if (reviver != null) + { + Func finalReviver = (t, k, v) => reviver(k, v); + return Transform(value, finalReviver); + } + + return value; } public static string Stringify(Json5Value value, Func replacer, string space = null)