Re: RFC Idea - json_validate() validate schema
| From: | Flávio Heleno | Date: | Wed, 01 Mar 2023 12:45:09 +0000 |
| Subject: | Re: RFC Idea - json_validate() validate schema | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-119635@lists.php.net to get a copy of this message | ||
On Wed, Mar 1, 2023 at 9:23 AM juan carlos morales <
dev.juan.morales@gmail.com> wrote:
> Jakub, wow, great to know this. thanks for writting.
>
> Ok, then .... I will assume that this feature will come from you
> sometime in future.
>
> Since json_validate() was announced ... I have being receiving
> messages (a lot) about providing the ability to use JSON SCHEMAS as
> well, hopefully we will have this in PHP in 8.4 (this will be a
> shock!)
>
> Question ... are you planning to incorporate this by enhancing
> json_validate() ???
>
> El mié, 1 mar 2023 a las 9:07, Jakub Zelenka (<bukka@php.net>) escribió:
> >
> > On Wed, Mar 1, 2023 at 11:44 AM juan carlos morales <
> dev.juan.morales@gmail.com> wrote:
> >>
> >> Hello Internals.
> >>
> >> I am thinking about improving the json_validate() function developed
> >> for php 8.3.
> >>
> >> The actual descriptions goes like this:
> >>
> >> json_validate(string $json, int $depth = 512, int $flags = 0): bool
> >>
> >> I am thinking about enhancing this function to also be able to
> >> validate against a JSON SCHEMA, giving us something like this:
> >>
> >> json_validate(string $json, int $depth = 512, int $flags = 0, string
> >> $json_schema = null): bool
> >>
> >> so, if the string is a valid JSON and also respects the schema ... then
> TRUE.
> >>
> >> What do you think ?
> >>
> >
> > I'm actually working on this. Currently developing the schema parsing in
> pure C implementation in my play C tool called jso. You can see progress
> here: https://github.com/bukka/jso/commits/next . The plan is
> to develop
> it inside jso and then port it to jsond and then propose it for json ext
> inclusion (that's how I developed the current parser). There is a lot of to
> do as JsonSchema is quite complex (composition, JSON pointers, stream
> integration for external pointers and more tricky bits) so this won't
> likely be ready for 8.3 but should be ready for 8.4. I plan to introduce
> some smaller things for 8.3 like better error reporting (error location
> which I have already working in jso) and some other small additions. By the
> way, the schema support won't be useful just for validation but also for
> decoding and possibly encoding (sort of replacement for JsonSerializable)..
> Especially for decoding it can be further extended to allow class mapping..
> We could also provide automatic generation of schema from class and support
> attributes. I plan to propose all of this later as well but that might take
> some time.
> >
> > Regards
> >
> > Jakub
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: https://www.php.net/unsub.php
>
>
Great addition folks, looking forward to it!
If there is anything that I can do to help, please let me know!
--
Atenciosamente,
Flávio Heleno