1. 01 Mar, 2018 1 commit
  2. 19 Dec, 2017 1 commit
  3. 12 Nov, 2017 1 commit
  4. 28 Oct, 2017 1 commit
  5. 11 May, 2016 1 commit
  6. 29 Apr, 2016 1 commit
  7. 20 Apr, 2016 1 commit
  8. 21 Jan, 2016 1 commit
  9. 15 Jan, 2016 9 commits
  10. 13 Jan, 2016 2 commits
  11. 06 Jan, 2016 2 commits
    • Jon Skeet's avatar
      Ensure all formatted well-known-type values are valid JSON · b4a58173
      Jon Skeet authored
      This involves quoting timestamp/duration/field-mask values, even when they're not in fields.
      It's better for consistency.
      
      Fixes issue #1097.
      b4a58173
    • Jon Skeet's avatar
      Improve number handling in JSON parsing · aa431a04
      Jon Skeet authored
      - Tighten up on Infinity/NaN handling in terms of whitespace handling (and test casing)
      - Validate that values are genuinely integers when they've been parsed from a JSON number (ignoring the fact that 1.0000000000000000001 == 1 as a double...)
      - Allow exponents and decimal points in string representations
      aa431a04
  12. 02 Dec, 2015 1 commit
    • Jon Skeet's avatar
      Handle JSON parsing for Any. · 3de2fced
      Jon Skeet authored
      This required a rework of the tokenizer to allow for a "replaying" tokenizer, basically in case the @type value comes after the data itself. This rework is nice in some ways (all the pushback and object depth logic in one place) but is a little fragile in terms of token push-back when using the replay tokenizer. It'll be fine for the scenario we need it for, but we should be careful...
      3de2fced
  13. 09 Nov, 2015 1 commit
  14. 05 Nov, 2015 1 commit
    • Jon Skeet's avatar
      Created a new exception for JSON failures. · 0fb39c4a
      Jon Skeet authored
      This is only thrown directly by JsonTokenizer, but surfaces from JsonParser as well. I've added doc comments to hopefully make everything clear.
      
      The exception is actually thrown by the reader within JsonTokenizer, in anticipation of keeping track of the location within the document, but that change is not within this PR.
      0fb39c4a
  15. 04 Nov, 2015 1 commit
  16. 03 Nov, 2015 1 commit
    • Jon Skeet's avatar
      Implement JSON parsing in C#. · fb248822
      Jon Skeet authored
      This includes all the well-known types except Any.
      Some aspects are likely to require further work when the details of the JSON parsing expectations are hammered out in more detail. Some of these have "ignored" tests already.
      
      Note that the choice *not* to use Json.NET was made for two reasons:
      - Going from 0 dependencies to 1 dependency is a big hit, and there's not much benefit here
      - Json.NET parses more leniently than we'd want; accommodating that would be nearly as much work as writing the tokenizer
      This only really affects the JsonTokenizer, which could be replaced by Json.NET. The JsonParser code would be about the same length with Json.NET... but I wouldn't be as confident in it.
      fb248822