2016-08-05 7 views
0

私は偽のAPI呼び出しからjsonデータを取得しようとしています。そのため、実際に安らかなサービスを呼び出せるように、アイテムの数を取得する必要があります。私はjsonの部署の数を得ることができません。結果は4(int)と期待しています。jsonファイルからエントリの数を取得する

String json = client.target("file:///C:/Program%20Files%20(x86)/apache-tomcat-8.0.35/webapps/GetProducts.json").request(MediaType.TEXT_PLAIN).get(String.class); 

JSONObject jsnobject = new JSONObject(json); 

JSONArray jsonArray = jsnobject.getJSONArray("locations"); 
for (int i = 0; i < jsonArray.length(); i++) { 
    JSONObject explrObject = jsonArray.getJSONObject(i); 
} 

JSONサンプル::

{ 
"Department": 
[ 
    {"SectionId":"1","SectionName":"Childrens Wear"}, 
    {"SectionId":"2","SectionName":"Womens Wear"}, 
    {"SectionId":"3","SectionName":"F&A"}, 
    {"SectionId":"1","SectionName":"Mens Wear"} 
] 
} 

String json = client.target("file:///C:/Program%20Files%20(x86)/apache-tomcat-8.0.35/webapps/GetProducts.json").request(MediaType.TEXT_PLAIN).get(String.class); 

は、全体のコードの下に見つけてください:

は、私は以下のコードの文字列値(JSON)を取得することはできませんよ

私はapiと同様にJavaに新しいです。

おかげで、

+1

' "場所"' '対 "部署"' –

+0

あなたの質問であなたの実際の問題に対処してください。 1つの質問を提示しないで、それに答えられたら*その答えに対するコメントの中で本当の質問をしてください。 –

+0

JSONへのパスに空白( '' '')があるはずの場所に '%20'があるため、文字列の値を取得できません。ファイル:/// C:/ Program Files(x86)/apache-tomcat-8.0.35/webapps/GetProducts.json "はファイルでなければなりません:/// C:/ Program Files(x86) )/apache-tomcat-8.0.35/webapps/GetProducts.json " –

答えて

1

あなたはどちらかのコードで間違ったキーを使用しているか、正しくないJSONの例を掲載。キーインコードとしてlocationsを使用しましたが、サンプルJSONではそのキーに対して値がありません。キーとしてDepartmentを使用する必要があります。

JSONArray jsonArray = jsnobject.getJSONArray("Department"); 
+0

こんにちはハーシル、それは私の悪かった。それは実際にコード内の「部門」です。私はコードの出力を得ていません:client.target( "file:/// C:/ Program%20Files%20(x86)/apache-tomcat-8.0.35/webapps/GetProducts.json").request(MediaType .TEXT_PLAIN).get(String.class); – Emraan

+1

修正内容と実際の結果が含まれるように質問を更新してください。 –

関連する問題