質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

2回答

1850閲覧

jsonオブジェクトの数え方

narutona

総合スコア23

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2019/07/12 16:22

jsonデータ操作が難しく、たびたび失礼致します。
数え方について以下宜しくお願い致します。

###実現したいこと
下記jsn1jsn2と2種類ありまして、それぞれ02と数えたいです。

jquery

1var jsn1 = '{"actions":[[]]}'; 2var jsn2 = '{"actions":[{"id":"1","type":"A",{"id":"2","type":B"}]}';

###エラー
jsn2で下記エラーです。

error

1SyntaxError: 2JSON.parse: 3expected double-quoted property name 4at line 1 column 34 of the JSON data

###試したこと
数えるにはObject.keys()が良いと調べました。

しかし下記コードで、
jsn10であっているのに、
jsn2 → 上のエラーになる。(2と数えてほしい)
という状況です。

jQeury

1// 数えることができてる 2var jsn1 = '{"actions":[[]]}'; 3var obj1 = JSON.parse( jsn1 ); 4var cnt1 = Object.keys( obj1['actions'][0] ).length; 5console.log( cnt1 ); 6 7// できていない 8var jsn2 = '{"actions":[{"id":"1","type":"A",{"id":"2","type":B"}]}'; 9var obj2 = JSON.parse( jsn2 ); 10var cnt2 = Object.keys( obj2['actions'][0] ).length; 11console.log( cnt2 ); 12

どのようにすればjsn22と数えることができるか、教えて頂けませんでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

とりあえずエラーメッセージをよく読みましょう。
expected double-quoted property name at line 1 column 34 of the JSON data
と書いてあります。("type":B"}のところでBの前に"がない)

投稿2019/07/12 16:34

gentaro

総合スコア8949

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

narutona

2019/07/12 16:48 編集

失礼しました。ご指摘ありがとうございます。
guest

0

ベストアンサー

とりあえず"type":B""type":"B"です。("が足りない)

投稿2019/07/12 16:33

kei344

総合スコア69364

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

narutona

2019/07/12 16:48 編集

失礼しました。ご指摘ありがとうございます。
kei344

2019/07/12 16:49

'{"actions":[{"id":"1","type":"A",【★】{"id":"2","type":"B"}]}'; ↑【★】の部分にラベルが無い。 '{"actions":[{"id":"1","type":"A","例えば":{"id":"2","type":"B"}]}';
narutona

2019/07/12 17:35 編集

ささいなミスに対して丁寧に教えて頂きありがとうございます。おかげ様で解決致しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問