Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android SDK中解析JSON?_Android_Json - Fatal编程技术网

如何在Android SDK中解析JSON?

如何在Android SDK中解析JSON?,android,json,Android,Json,可能重复: 我有如下JSON对象。。如何解析对象 { "0": { "productname":"Famous Amos Bite Size Chocolate Chip Cookies - 4 Pack", "imageurl":"http://ecx.images-amazon.com/images/I/513j-WyH1GL._SL160_.jpg", "producturl":"http://www.searchupc.com/r

可能重复:

我有如下JSON对象。。如何解析对象

{
  "0":
     {
       "productname":"Famous Amos Bite Size Chocolate Chip Cookies - 4 Pack",
       "imageurl":"http://ecx.images-amazon.com/images/I/513j-WyH1GL._SL160_.jpg",
       "producturl":"http://www.searchupc.com/rd.aspx?u=d%2bKvXQ%2fFIfa95xJ38QYLycSjbm5dt4dy3l4IYTYPM3agt4tefTNsMwzWkPWd9gCY%2fEnCdaGVMLsQD%2fO5ZUWbfJyqOuwIWqkLvouDyw5u7VWmda5dK2%2fRTmcAp3%2f1TImmZmtdaNauL74Lj8BkV0r15VeazeDf4Im4Nx%2f5TOuqBUnUXzeNkYrWvlLitV8FDFIkM77UIjZzYZqoQANt0PBNeqh94bzLqFRXpNYPyqc0fLDTHnA9TM2jsbaKVN23UA%2fH",
       "price":"5.95",
       "currency":"usd",
       "saleprice":"",
       "storename":"amazon.com"
     }
}
Android提供了可用于将字符串解析为JSONObject的

您可以通过以下代码行实现这一点:

JSONObject json = new JSONObject(myJsonString);
Android提供了可用于将字符串解析为JSONObject的

您可以通过以下代码行实现这一点:

JSONObject json = new JSONObject(myJsonString);

下面的示例演示了如何解析JSON。您将得到一个关于json解析的非常清晰的解释

JSONObject myjson=newjsonobject(“将json字符串放在这里”);
JSONArray这个数组=myjson.getJSONArray(“0”);
int size=_json_array.length();
对于(int i=0;i
下面的示例演示了如何解析JSON。您将得到一个关于json解析的非常清晰的解释

JSONObject myjson=newjsonobject(“将json字符串放在这里”);
JSONArray这个数组=myjson.getJSONArray(“0”);
int size=_json_array.length();
对于(int i=0;i
为此,您必须使用
JSONObject
。使用以下代码-

JSONParser.java

public JSONObject getJSONFromUrl(String url)  // url is your json url
{

    // Making HTTP request
    try {
        // defaultHttpClient
        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);

        HttpResponse httpResponse = httpClient.execute(httpPost);
        HttpEntity httpEntity = httpResponse.getEntity();
        is = httpEntity.getContent();           

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                is, "iso-8859-1"), 8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "n");
        }
        is.close();
        json = sb.toString();
    } catch (Exception e) {
        Log.e("Buffer Error", "Error converting result " + e.toString());
    }

    // try parse the string to a JSON object
    try {
        jObj = new JSONObject(json);
    } catch (JSONException e) {
        Log.e("JSON Parser", "Error parsing data " + e.toString());
    }

    // return JSON String
    return jObj;

}
它将返回
JsonObject
,使用这个jsonboobject我们可以得到数组形式的结果

// Creating JSON Parser instance
JSONParser jParser = new JSONParser();

// getting JSON string from URL
JSONObject json = jParser.getJSONFromUrl(url);

try {
    // Getting Array of Contacts
    contacts = json.getJSONArray(TAG_CONTACTS);

    for(int i = 0; i < contacts.length(); i++) {

        String product_name = contacts.getString("productname");
        String image_url = contacts.getString("imageurl");
        .....
        .....
        String store_name = contacts.getString("storename");
    }
}catch(JSONException e) 
{
    e.printStackTrace();
}
//创建JSON解析器实例
JSONParser jParser=新的JSONParser();
//从URL获取JSON字符串
JSONObject json=jParser.getJSONFromUrl(url);
试一试{
//获取联系人数组
contacts=json.getJSONArray(TAG_contacts);
对于(int i=0;i

有关更多信息,请参考您必须使用
JSONObject
。使用以下代码-

JSONParser.java

public JSONObject getJSONFromUrl(String url)  // url is your json url
{

    // Making HTTP request
    try {
        // defaultHttpClient
        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost(url);

        HttpResponse httpResponse = httpClient.execute(httpPost);
        HttpEntity httpEntity = httpResponse.getEntity();
        is = httpEntity.getContent();           

    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                is, "iso-8859-1"), 8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "n");
        }
        is.close();
        json = sb.toString();
    } catch (Exception e) {
        Log.e("Buffer Error", "Error converting result " + e.toString());
    }

    // try parse the string to a JSON object
    try {
        jObj = new JSONObject(json);
    } catch (JSONException e) {
        Log.e("JSON Parser", "Error parsing data " + e.toString());
    }

    // return JSON String
    return jObj;

}
它将返回
JsonObject
,使用这个jsonboobject我们可以得到数组形式的结果

// Creating JSON Parser instance
JSONParser jParser = new JSONParser();

// getting JSON string from URL
JSONObject json = jParser.getJSONFromUrl(url);

try {
    // Getting Array of Contacts
    contacts = json.getJSONArray(TAG_CONTACTS);

    for(int i = 0; i < contacts.length(); i++) {

        String product_name = contacts.getString("productname");
        String image_url = contacts.getString("imageurl");
        .....
        .....
        String store_name = contacts.getString("storename");
    }
}catch(JSONException e) 
{
    e.printStackTrace();
}
//创建JSON解析器实例
JSONParser jParser=新的JSONParser();
//从URL获取JSON字符串
JSONObject json=jParser.getJSONFromUrl(url);
试一试{
//获取联系人数组
contacts=json.getJSONArray(TAG_contacts);
对于(int i=0;i

有关更多信息,请参阅

这里有一个使用和自定义使用的工作示例。 实现方法是


有一个使用和自定义使用的工作示例。 实现方法是

试试这个代码

 // getting JSON string from URL
    JSONObject json = jParser.getJSONFromUrl(url);

    System.out.println("json is "+json);
    System.out.println("Length"+json.length());

    for (int i = 0; i < json.length(); i++) {
        try {
            String atObj = Integer.toString(i);
            System.out.println(atObj);
            JSONObject jObj = json.getJSONObject(atObj);
            System.out.println(jObj.getString("productname"));
            System.out.println(jObj.getString("imageurl"));
            System.out.println(jObj.getString("producturl"));
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
//从URL获取JSON字符串
JSONObject json=jParser.getJSONFromUrl(url);
System.out.println(“json是”+json);
System.out.println(“Length”+json.Length());
for(int i=0;i
试试这段代码

 // getting JSON string from URL
    JSONObject json = jParser.getJSONFromUrl(url);

    System.out.println("json is "+json);
    System.out.println("Length"+json.length());

    for (int i = 0; i < json.length(); i++) {
        try {
            String atObj = Integer.toString(i);
            System.out.println(atObj);
            JSONObject jObj = json.getJSONObject(atObj);
            System.out.println(jObj.getString("productname"));
            System.out.println(jObj.getString("imageurl"));
            System.out.println(jObj.getString("producturl"));
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
//从URL获取JSON字符串
JSONObject json=jParser.getJSONFromUrl(url);
System.out.println(“json是”+json);
System.out.println(“Length”+json.Length());
for(int i=0;i
请参见和,参见此处链接中的图像。他们是如何使用JSONObject获取json值的。请看这个问题是否有助于您访问链接。这是一个关于android中json解析的不错的教程。您可能想查看GSON库:请参阅和,请参阅链接中的图像。他们是如何使用JSONObject获取json值的。请看这个问题是否有助于您访问链接。这是一个关于android中json解析的不错的教程。您可能想查看GSON库: