如何在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库: