Code Monkey home page Code Monkey logo

Comments (8)

maciejhirsz avatar maciejhirsz commented on May 24, 2024 1

I've been roaming around, since I'm looking for more universal testing suite for myself.

@dtolnay

I would make one exception which is I think it is okay for us to accept types other than list and map at the root level.

That's not an exception, both ECMA 404 and RFC 7159 state that JSON text has to conform to the grammar of a JSON value, which permits strings, numbers and and the 3 literals.

@oli-obk

it's additional code we need to maintain and test + it slows down the regular path.

I've done this with a LUT and it didn't slow down the regular path at all. The logic is pretty trivial, there isn't much to maintain or test.

from json.

dtolnay avatar dtolnay commented on May 24, 2024 1

This was fixed in #98/#100.

from json.

dtolnay avatar dtolnay commented on May 24, 2024

These are the only checks from JSON_checker that we fail. Rustc-serialize correctly rejects unescaped whitespace in strings.

from json.

oli-obk avatar oli-obk commented on May 24, 2024

Is it a problem if our parser/deserializer is more lenient than the standard, as long as our serializer produces correct json?

from json.

StefanoD avatar StefanoD commented on May 24, 2024

@oli-obk So, you want to guess what the sender wanted to send you? Can be dangerous...

from json.

dtolnay avatar dtolnay commented on May 24, 2024

I think we should aim to accept valid JSON and reject invalid JSON. I would make one exception which is I think it is okay for us to accept types other than list and map at the root level.

from json.

oli-obk avatar oli-obk commented on May 24, 2024

but if accepting valid json requires additional code and conditions, it's additional code we need to maintain and test + it slows down the regular path. If the correct way is faster/easier (like with forbidding trailing commas), then it's fine with me.

from json.

maciejhirsz avatar maciejhirsz commented on May 24, 2024

Kind of related, I've been looking at control characters:

The control characters U+0000–U+001F and U+007F come from ASCII

0x7F is not marked as U in the LUT.

from json.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.