Фильтр JSON (например, SQL SELECT) - PullRequest
1 голос
/ 01 октября 2009

У меня есть файл / поток json, я хотел бы иметь возможность выбрать стиль SQL

так вот файл

файл содержит все данные, которые у меня есть, я хотел бы показать, пусть сказал:

все: odeu_nom и odeu_desc, то есть: category = Feuilles

если вы можете сделать это с помощью PHP и json (eval), хорошо ... скажите мне, как ...

с другой стороны в sql я сделаю: SELECT * from $json where categorie=Feuilles

p.s. я нашел: jsonpath это xpath для json ... может быть другой вариант?

p.s. # 2 ... проведя некоторое исследование, я нашел еще один вариант, json такой же, как массив, может быть, я могу отфильтровать массив и просто вернуть тот, который мне нужен? ... как мне это сделать?

1 Ответ

1 голос
/ 01 октября 2009

Имеет больше смысла использовать селекторы в стиле XPath (например, jsonpath), а не использовать SQL, даже если вы более знакомы с SQL.

Преимущество «пути» состоит в том, что он более легко выражает иерархическую структуру, неявную для XML / JSON, в отличие от SQL, который требует использования различных объединений, чтобы помочь ему «выбраться из своей прямоугольной / табличной тюрьмы».

Хотя я никогда не использовал jsonpath, читая его сводную страницу, я полагаю, что следующее должно создать все odeu_nom для объектов, к которым относится «Feuilles» (учитывая ввод json, упомянутый в вопросе).

$.Liste_des_odeurs[?(@.categorie = 'Feuilles'].odeu_nom

, которые соответствуют следующему XPath

/Liste_des_odeurs[categorie='Feuilles']/odeu_nom

эт вуаля ... Кстати, «Джаз не умер, просто пахнет смешно» (Ф. Заппа)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...