ホームページ >ウェブフロントエンド >jsチュートリアル >jsonのデータ構造をクエリする8つの方法を紹介_基礎知識

jsonのデータ構造をクエリする8つの方法を紹介_基礎知識

WBOY
WBOYオリジナル
2016-05-16 16:55:54890ブラウズ

json のデータ構造をクエリする 8 つの方法:

JsonSQL

JsonSQL は、SQL select ステートメントを使用して json データ構造内でクエリを実行する機能を実装します。ホームページ: http://www.trentrichardson.com/jsonsql/

例:

コードをコピー コードは次のとおりです。

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

JSONPath

JSONPath は、JSON データ構造の XPath に似ています。ホームページ: http://goessner.net/articles/JsonPath/

例:

コードをコピーします コードは次のとおりです:

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

jfunk

jFunk を使用すると、複雑な JSON または JavaScript オブジェクトを取得 (そしてすぐに管理) できます。 jFunk API の設計は jQuery API とほぼ同様です。 DOM を対象とする API を除き、jQuery の API を直接コピーします。
ホームページ: http://code.google.com/p/jfunk/

例:

コードをコピー コードは次のとおりです:

Jf("> ; 野菜 > ; *[color=Orange]",Food).get();

TaffyDB

Javascript オブジェクト リテラルがレコードによく似ていることにこれまでに気づいたことがありますか?それらを配列でラップすると、データベースのテーブルのように見えますか? TaffyDB は、以前のアイデアを実装するための強力なデータベース機能を提供する Javascript ライブラリで、JavaScript でのデータの操作方法を大幅に改善します。
ホームページ: http://www.taffydb.com/

例:

コードをコピー コードは次のとおりです:

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

linq.js

linq.js - Javascript の LINQ

コードをコピー コードは次のとおりです:

var queryResult2 = Enumerable.From(jsonArray)
.Where("$.user.id .OrderBy("$.user.screen_name")
.Select("$.ユーザー .screen_name ':' $.text")
.ToArray();

オブジェクト

objeq は、POJSO (Plain-Old JavaScript Objects、通常の Javascript オブジェクト) のリアルタイム クエリを実装するシンプルなライブラリです。ホームページ: https://github.com/agilosoftware/objeq

コードをコピー コードは次のとおりです:

var res = $objeq(data, "年齢 > 40 && 性別 == '女性' -> 名前");
// --> 戻り値 ['ジェシカ']

(注釈: Javascript プロパティ セッターを使用するため、新しいブラウザでのみ動作します)

json:select()

CSS のようなセレクターを使用して JSON をクエリします。ホームページ: http://jsonselect.org/#tryit

コードをコピー コードは次のとおりです:

.lang:val("ブルガリア語") ~ .level

Paul のプログラミング パールの Javascript 配列フィルタリング メソッド、ホームページ: http://www.paulfree.com/28/javascript-array-filtering/#more-28

コードをコピー コードは次のとおりです:

var a = [1,2,3,4,5,6,7 , 8,9,10];
// すべてを返します
a.where( "( ) => true" ) ;
// --> [1,2,3,4, 5 ,6,7,8,9,10]
// 偶数を返します
a.where( "( n, i ) => n % 2 == 0" ) ;
// - -> [2,4,6,8,10]
// 追加のパラメータと正規表現を使用して、カテゴリが 'con' で始まる最初の 6 つの製品をクエリします
products.where( "( el, i, res , param ) => res.length <= 6 && param.test( el.cat )", /^con/i);
// SQL Server の Northwind データベースからの顧客テーブル データを使用します... "
customers.where( "( el, i, res, param ) => el.country == param", "USA" );

現在、これが JSON データ構造をクエリする私のお気に入りの方法です。非常にシンプルで、作者によると非常に速いとのことです。
その背後にある考え方は、John Resig の JavaScript マイクロ テンプレートに似ています。正しい式を使用して、非常に単純な文字列を Javascript 関数に変換します。
もちろん、より強力なソリューションもあります。 Paul が実装したプロトタイプにはフィルター式の構文チェックもありませんが、Javscript の構文チェックは自分で解決できるはずだと思います。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。