Maison >interface Web >js tutoriel >Introduction à 8 façons d'interroger la structure de données des connaissances json_Basic

Introduction à 8 façons d'interroger la structure de données des connaissances json_Basic

WBOY
WBOYoriginal
2016-05-16 16:55:54893parcourir

8 façons d'interroger la structure de données de json :

JsonSQL

JsonSQL implémente la fonction d'interrogation dans la structure de données json à l'aide d'instructions de sélection SQL. Page d'accueil : http://www.trentrichardson.com/jsonsql/

Exemple :

Copier le code Le code est le suivant :

jsonsql.query( "select * from json.channel.items order by title desc",json);

JSONPath

JSONPath est comme XPath pour les structures de données JSON. Page d'accueil : http://goessner.net/articles/JsonPath/

Exemple :

Copier le code Le code est le suivant :

jsonPath( books, '$.book[(@.length-1)]')

jfunk

jFunk permet de récupérer (et bientôt de gérer) des objets JSON ou Javascript complexes. La conception de l'API jFunk est presque similaire à celle de l'API jQuery. Il copie directement l'API de jQuery, sauf celles ciblant le DOM.
Page d'accueil : http://code.google.com/p/jfunk/

Exemple :

Copier le code Le code est le suivant :

Jf("> ; légumes > ; *[color=Orange]",Food.get();

TaffyDB

Avez-vous déjà remarqué dans le passé que les littéraux d'objet Javascript ressemblent beaucoup à des enregistrements ? Si vous les enveloppez dans un tableau, ressemblent-ils à une table de base de données ? TaffyDB est une bibliothèque Javascript qui fournit de puissantes fonctionnalités de base de données pour mettre en œuvre les idées précédentes, améliorant ainsi considérablement la façon dont vous travaillez avec les données en Javascript.
Page d'accueil : http://www.taffydb.com/

Exemple :

Copier le codeLe code est le suivant :

var kelly = amis ({id :2}).first();

linq.js

linq.js - LINQ en Javascript

Copier le code Le code est le suivant :

var queryResult2 = Enumerable.From(jsonArray)
.Where("$.user.id < 200")
.OrderBy("$.user.screen_name")
.Select("$. utilisateur .screen_name ':' $.text")
.ToArray();

objeq

objeq est une bibliothèque simple qui implémente une requête en temps réel de POJSO (Plain-Old JavaScript Objects, objets Javascript ordinaires). Page d'accueil : https://github.com/agilosoftware/objeq

Copier le code Le code est le suivant :

var res = $objeq(data, "age > 40 && sexe == 'female' -> name");
// --> Renvoie ['Jessica']

(Annotation : il utilise des paramètres de propriétés Javascript, il ne peut donc fonctionner que sur les navigateurs les plus récents)

json:select()

Interrogez JSON à l'aide de sélecteurs de type CSS. Page d'accueil : http://jsonselect.org/#tryit

Copier le code Le code est le suivant :

.lang:val("Bulgare") ~ .level

Méthode de filtrage de tableau Javascript dans Paul's Programming Pearls, page d'accueil : http://www.paulfree.com/28/javascript-array-filtering/#more-28

Copier le code Le code est le suivant :

var a = [1,2,3,4,5,6,7 , 8,9,10];
// renvoie tout
a.where( "( ) => true" ) ;
// --> 5 ,6,7,8,9,10]
// renvoie des nombres pairs
a.where( "( n, i ) => n % 2 == 0" ) ;
// - -> [2,4,6,8,10]
// interroge les 6 premiers produits dont la catégorie commence par 'con' en utilisant des paramètres supplémentaires et une expression régulière
products.where( "( el, i, res , param ) => res.length <= 6 && param.test( el.cat )", /^con/i);
// en utilisant les données de la table client de la base de données Northwind de SQL Server... "
customers.where( "( el, i, res, param ) => el.country == param", "USA" );

Actuellement, c'est ma façon préférée d'interroger les structures de données JSON. C'est très simple, et selon l'auteur c'est très rapide.
L'idée derrière cela est similaire au Micro-Templating JavaScript de John Resig : utilisez l'expression correcte pour convertir une chaîne très simple en une fonction Javascript.
Bien sûr, il existe des solutions plus puissantes. Le prototype implémenté par Paul manque également de vérification de syntaxe pour les expressions de filtre, mais je pense que vous devriez être capable de résoudre vous-même la vérification de syntaxe de Javscript.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn