JSONの命名に関する標準はありますか?ほとんどの例では、アンダースコア(lower_case)で区切られた小文字を使用しています。しかし、PascalCaseやcamelCaseを使うことはできますか?
この文書Google JSON Style Guide(GoogleでJSON APIを構築するための推奨事項)では、JSON APIを構築するための推奨事項を説明しています、
次のように推奨しています:
1.プロパティ名は camelCased, ASCII 文字列でなければならない。
2.最初の文字は文字、アンダースコア(_)、ドル記号($)でなければなりません。
例
{
"thisPropertyIsAnIdentifier": "identifier value"
}
私のチームはこの規約に従っています。
唯一の標準はありませんが、私はあなたが言及した3つのスタイル("Pascal/Microsoft", "Java"(camelCase
)と"C"(アンダースコア、snake_case
))を見たことがあります。)
c/c++(または多くのスクリプト言語やrubyなどを含む、似たような命名を採用する言語)のバックグラウンドを持つ開発者は、アンダースコアのバリアントを選択することが多く、その他も同様です(Java vs .NET)。例えば、言及されたJacksonライブラリは、Javaビーンの命名規則(camelCase
)を想定している。
UPDATE:私の定義では、quot;standard"は単一の規約である。つまり、「そうだ、標準はたくさんある」と主張することもできますが、私にとっては複数の「命名規則」が存在し、そのどれもが「標準」ではないのです。しかし、JSONがプラットフォーム間の相互運用性のために使用されることを考えると、それはあまり意味がないかもしれません。
JSON命名規則を課すことは非常に混乱しています。 ただし、コンポーネントに分割すると、簡単に理解できます。
1。 JSONを生成するためのプログラミング言語。
-Python-snake_case。 -PHP-snake_case。 -Java-camelCase。 -JavaScript-camelCase。
2。 JSON自体にはキーの標準名がありません。 3。 JSONを解析するためのプログラミング言語。
-Python-snake_case。 -PHP-snake_case。 -Java-camelCase。 -JavaScript-camelCase。
1。 Python » JSON» Python - snake_case -全会一致。 1。 Python » JSON» PHP - snake_case -全会一致。 1。 Python » JSON» Java - snake_case -以下の Java問題を参照してください。 1。 Python » JSON» JavaScript - snake_case は理にかなっています。とにかくフロントエンドをねじ込みます。 1。 Python » JSON»わかりません- snake_case は理にかなっています。とにかくパーサーをねじ込みます。 1。 PHP » JSON» Python - snake_case -全会一致。 1。 PHP » JSON» PHP - snake_case -全会一致。 1。 PHP » JSON» Java - snake_case -以下の Java問題を参照してください。 2。 PHP » JSON» JavaScript - snake_case は理にかなっています。とにかくフロントエンドをねじ込みます。 4。 PHP » JSON»わかりません- snake_case は理にかなっています。とにかくパーサーをねじ込みます。 1。 Java » JSON» Python - snake_case -以下の Java問題を参照してください。 1。 Java » JSON» PHP - snake_case -以下の Java問題を参照してください。 5。 Java » JSON» Java - camelCase 。 6。 Java » JSON» JavaScript - camelCase 。 8。 Java » JSON»わかりません- camelCase は理にかなっています。とにかくパーサーをねじ込みます。 9。 JavaScript » JSON» Python - snake_case は理にかなっています。とにかくフロントエンドをねじ込みます。 10。 JavaScript » JSON» PHP - snake_case は理にかなっています。とにかくフロントエンドをねじ込みます。 11。 JavaScript » JSON» Java - camelCase -全会一致。 12。 JavaScript » JSON» JavaScript - camelCase -全会一致。
Javaの例 org.json
パッケージ。
JsonObject.getString( "snake_cased_key")
。
Javaの例 com.google.gson
パッケージ。
JsonElement.getAsString( "snake_cased_key")
。
-GoogleマップJavaScript API- camelCased 。 -Facebook JavaScript API- snake_cased 。 -Amazon Web Services- snake_cased & camelCased 。 -Twitter API- snake_cased 。 -JSON-LD- camelCased & ProperCamelCased 。
JSON実装に適したJSON命名規則を選択するには、テクノロジースタックが必要です。 snake_case 、 camelCase 、またはその他の命名規則を使用できる場合があります。
考慮すべきもう1つのことは、JSONジェネレーターとJSONパーサーおよび/またはフロントエンドJavaScriptに付ける重量です。 一般に、JSON-parser側ではなく、JSON-generator側により多くの重みを付ける必要があります。 これは、ビジネスロジックが通常JSONジェネレーター側にあるためです。
また、JSON-parser側が不明な場合は、何ができるかを宣言できます。
特にNodeJSの私にとっては、データベースを操作していて、フィールド名がアンダースコアで区切られている場合は、構造キーでも使用します。
これは、dbフィールドに頭字語/略語がたくさんあるため、 appSNSInterfaceRRTest のようなものは少し乱雑に見えますが、 app_sns_interface_rr_test の方が優れているためです。
Javascriptでは、変数はすべてcamelCaseであり、クラス名(コンストラクター)はProperCaseであるため、次のようなものがあります。
var devTask = {
task_id: 120,
store_id: 2118,
task_name: 'generalLedger'
};
または。
generalLedgerTask = new GeneralLedgerTask( devTask );
そしてもちろん、JSONではキー/文字列は二重引用符で囲まれていますが、JSON.stringifyを使用してJSオブジェクトを渡すだけなので、心配する必要はありません。
JSONとJSの命名規則の間にこの幸せな媒体が見つかるまで、私はこれに少し苦労しました。
JSONには正式な命名規則はないと思いますが、業界のリーダーをフォローして、それがどのように機能しているかを確認できます。
世界最大のIT企業の1つであるGoogleには、JSONスタイルのガイドがあります。https://google.github.io/styleguide/jsoncstyleguide.xml。
利用すると、Googleが定義する他のスタイルガイドをhttps://github.com/google/styleguideで見つけることができます。
他の人が述べたように、標準はないので、自分で選択する必要があります。 その際、考慮すべき点がいくつかあります。
1。 JavaScriptを使用してJSONを消費している場合、両方のプロパティに同じ命名規則を使用すると、視覚的な一貫性が得られ、場合によってはコードをよりクリーンに再利用できる機会がいくつか得られます。
2。 ケバブケースを避ける小さな理由は、ハイフンが値に表示される -
文字と視覚的に衝突する可能性があることです。
{。
「銀行残高」:-10。
}。