2012-01-31 5 views
-1

いくつかの投稿を読んだ後、JsonObjectとJsonArrayのJson構文に非常に不満です。 これは私のローカルホストから返されたJsonです [{"Age":18}、{"Age":18}、 {"年齢:18}"についてJson構文について

3つのオブジェクトを含むJson Arrayですか?

私は違いを明確にしたい、と私は[含めるべきである。これは、プロジェクト内のデモコード

private String strJSONValue1 ={"FirstObject": { "attr1":"one value" ,"attr2":"two value", 
"sub": { "sub1":[ {"sub1_attr":"sub1_attr_value" },{"sub1_attr":"sub2_attr_value" }]} 
} 
} 

ある

private String strJSONValue1 = {"Age":18},{"Age":18},{"Age":18} but it have errors. 

eclispeに文字列として作成したいです]それは配列を意味しますか?

+2

JSONはJavaScriptのみでネイティブに動作することにより、JSON配列を取得することができます。それ以外は、解析する必要があります。 –

答えて

0

ルートには{}、[]、 "Some String"、double、integerの単一オブジェクトが必要です。もちろん、Object({})やArray([])はString、double、またはinteger以外の多くのオブジェクトタイプを含むことができるので意味がある唯一のオプションですが、それらを持つことができます。

{"Age":18},{"Age":18},{"Age":18} 

これはルート上の3つのオブジェクトなので、無効です。あなたは3つの項目のコレクションを望んでいた場合、あなたは何をする必要があるでしょう:

[ {"Age":18},{"Age":18},{"Age":18} ] 
+0

ありがとうございます。私は私のJsonを出力することができるかどうかコードをテストする文字列をハードコードしたいと思います。それから私はURLから接続しようとします。 THX – eman

0

次のように引用符で、あなたの文字列を囲んで(および任意の内側の引用符をエスケープ)する必要があります。あなたも外括弧[]を紛失しています。

private String strJSONValue1 = "[ {\"Age\":18},{\"Age\":18},{\"Age\":18} ]" 
+0

ありがとうございます。私は私のJsonを出力することができるかどうかコードをテストする文字列をハードコードしたいと思います。それから私はURLから接続しようとします。 THX – eman

+0

または、「引用符で囲まずに」を使用すると、それをエスケープする必要はありません。 – chubbsondubs

0

[]表記は配列を定義するためのものです。あなたがこのようなものを持っているならば。

{ "Ages" : [ {"Age":18}, {"Age":18}, {"Age":18} ] } 

あなたは、パラメータ「中世」とgetJSONArray("Ages")方法