創建包含json解析代碼的JSONParser類。
提你MainActivity.java
JSONParser jsonparser =新JSONParser(); JSONObject jsonObject = jsonparser.getJSONFromURL(URL);
立即創建單獨JSONParser類
class JSONParser
{
public static JSONObject jsonObject=null;
public static String json=null;
InputStream is=null;
public JSONObject getJSONFromURL(String url)
{
try
{
HttpClient client=new DefaultHttpClient();
HttpPost post=new HttpPost(url);
HttpResponse response=client.execute(post);
HttpEntity entity=response.getEntity();
is=entity.getContent();
}
catch(Exception e)
{
e.printStackTrace();
}
try
{
BufferedReader br=new BufferedReader(new InputStreamReader(is,"UTF-8"));
StringBuilder sb=-new StringBuilder();
String line=null;
while((br.readLine())!=null)
{
sb.append(line+"\n");
}
json=sb.toString();
is.close();
}
catch(Exception e)
{
e.printStackTrace();
}
try
{
jsonObject=new JSONObject(json.subString(json.indexOf("{"),json.lastinddexOf("}")+1));
}
catch(Exception e)
{
e.printStackTrace();
}
return jsonObject;
}
現在MainActivity.java
try
{
JSONParser jsonparser=new JSONParser();
JSONObject jsonObject=jsonparser.getJSONFromURL(URL);// URL is a String which contains url
Log.d("Response:",jsonObject.toString());
JSONArray jsonarray=new JSONArray(jsonObject.getString("YourFirstJSONArrayName"));//YourJSONArray contains the response array
for(int i=0;i<jsonarray.length();i++)
{
JSONObject c=jsonarray.getJSONObject(i);
// now get data from c object
}
// Now getting data from Second Array
JSONArray jsona=new JSONArray(jsonObject.getString("YourSecondJSONArrayName"));
for(int j=0;j<jsona.length();j++)
{
JSONObject c=jsona.getJSONObject(j);
// now get data from json data from second array
}
}
catch(Exception e)
{
e.printStackTrace();
}
嘗試'」「'和'」「'來代替,如果它不能正常工作與嘗試'「」' –
不起作用。如果我正在更改我的API並命名我的數組,並在其中鍵入「myArray」,它將起作用..沒有名稱 - 它不會:S – TheUnreal
您的響應是否以此數組開頭? –