1.Android中解析json程序代码

  1. Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包。测试代码如下:

@Override

  
protected
void onCreate(Bundle savedInstanceState) {

     
super.onCreate(savedInstanceState);

     
setContentView(R.layout.activity_main);

 

     
if (savedInstanceState ==
null) {

        
getSupportFragmentManager().beginTransaction()

               
.add(R.id.container,
new PlaceholderFragment()).commit();

     
}

 

     
//第一种方式:

     
String jsonString = "{\"id\":\"1378230362\",\"name\":\"360U1378230362\"}";

     
System.out.println(jsonString);

     
jsonString = "[" + jsonString +
"]";

     
try {

        
JsonReader reader = new JsonReader(new
StringReader(jsonString));

        
reader.beginArray();

        
while (reader.hasNext()) {

           
reader.beginObject();

           
while (reader.hasNext()) {

               
String tagName = reader.nextName();

               
if (tagName.equals("id"))
{

                  
Toast.makeText(this,
"id:" + reader.nextString(), 1000).show();

                  
System.out.println(reader.nextString());

               
} else
if (tagName.equals("name"))
{

  
                Toast.makeText(this,
"name:" + reader.nextString(), 1000).show();

               
   //System.out.println(reader.nextString());

               
}

           
}

           
reader.endObject();

        
}

        
reader.endArray();

     
} catch (Exception e) {

        
e.printStackTrace();

     
}

  
}

2
通过Android中的JSONObject的方式解析JSON数据

package com.example.jsontest2;

 

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

 

import android.os.Bundle;

import android.app.Activity;

import android.view.Menu;

import android.widget.Toast;

 

public class MainActivity extends Activity {

 

        
@Override

        
protected void onCreate(Bundle savedInstanceState) {

                  
super.onCreate(savedInstanceState);

                  
setContentView(R.layout.activity_main);

                  

                  
String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}";

                  
String value1 = null;

                  
try {

                           
// 将字符串转换成jsonObject对象

                           
JSONObject myJsonObject = new JSONObject(jsonMessage);

                           
// 获取对应的值

                           
value1 = myJsonObject.getString("数学");

                           
Toast.makeText(this, "value1:" + value1, 3000).show();

                  
} catch (JSONException e) {}

 

                  
System.out.println("value1=" + value1);

 

                  
// JSONArray

                  
jsonMessage = "[{'num':'成绩', '外语':88, '历史':65,
'地理':99, 'object':{'aaa':'1111','bbb':'2222','cccc':'3333'}},"

                                    
+ "{'num':'兴趣', '外语':28, '历史':45,
'地理':19, 'object':{'aaa':'11a11','bbb':'2222','cccc':'3333'}},"

                                    
+ "{'num':'爱好', '外语':48, '历史':62,
'地理':39, 'object':{'aaa':'11c11','bbb':'2222','cccc':'3333'}}]";

                  
JSONArray myJsonArray;

                  
try {

                           
myJsonArray = new JSONArray(jsonMessage);

 

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

        
                            // 获取每一个JsonObject对象

                                    
JSONObject myjObject = myJsonArray.getJSONObject(i);

 

                                    
// 获取每一个对象中的值

                                    
String numString = myjObject.getString("num");

                                    
int englishScore = myjObject.getInt("外语");

                                    
int historyScore = myjObject.getInt("历史");

                                    
int geographyScore = myjObject.getInt("地理");

                                    
// 获取数组中对象的对象

                                    
JSONObject myjObject2 = myjObject.getJSONObject("object");

                                    
String aaaString = myjObject2.getString("aaa");

                                    
System.out.println("aaaString=" + aaaString);

 

                                    
System.out.println("numString=" + numString);

                                    
System.out.println("englishScore=" + englishScore);

                                    
System.out.println("historyScore=" + historyScore);

                                    
System.out.println("geographyScore=" + geographyScore);

                           
}

                  
} catch (JSONException e) {

                  
}

        
}

 

        
@Override

        
public boolean onCreateOptionsMenu(Menu menu) {

                  
// Inflate the menu; this adds items to the action bar if it is present.

                  
getMenuInflater().inflate(R.menu.main, menu);

                  
return true;

        
}

}

时间: 2024-07-31 21:51:36

1.Android中解析json程序代码的相关文章

Android 中对JSON数据解析实例代码

Android 中对JSON数据解析 在Android的网络编程中,JSON是比XML使用更为广泛的数据传输机制.在许多的http网络请求或接口调用中,返回的很多都是JSON.所以学会解析JSON是学会Android的基本技能. 简单介绍下JSON,JSON是轻量级的文本数据交换格式,独立于语言和平台.比XML更小,更快,更易解析.JSON是用键值对来保存数据的.JSON保存的值可以是数字.字符串.布尔值.数组和对象. 废话少说,直接上代码.下面对以下JOSN进行解析: { "language&

Android中关于JSON相关应用分析_Android

本文分析了Android中关于JSON相关应用.分享给大家供大家参考,具体如下: JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. – Json.org JSON的结构: Name/Value Pairs,类似所熟知的Keyed list. Hash table.Discti

Android中关于JSON相关应用分析

本文分析了Android中关于JSON相关应用.分享给大家供大家参考,具体如下: JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. – Json.org JSON的结构: Name/Value Pairs,类似所熟知的Keyed list. Hash table.Discti

android中处理json最佳方法

在android中处理json,采用google的gson框架,gson是google开源的一个项目.只需将gson.jar导入项目中即可!暂时没找到上传附近的地方在哪里? 下面给出事例代码:     package com.achievo.vipshop.utils; import java.lang.reflect.Type; import java.util.LinkedList; import android.os.Debug; import android.util.Log; impo

android中解析text文件

问题描述 android中解析text文件 在应用中,创建了一个text文件保存数据,值大致如下: 98, 97, 98, ...... 需要从text文件中获取然后保存在一个数组列表中,想实现时报出异常. 代码: package com.example.meme; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import ja

Ajax中解析Json的两种方法对比分析

  这里给大家介绍的是Ajax中解析Json的两种方法对比分析,十分的实用,本文为学习笔记,属新手文章,欢迎指教! eval(); //此方法不推荐 JSON.parse(); //推荐方法 一.两种方法的区别 我们先初始化一个json格式的对象: ? 1 2 3 4 5 var jsonDate = '{ "name":"周星驰","age":23 }'   var jsonObj = eval( '(' + jsonDate + ')' );

array-如何访问 android 中的 json 数组?

问题描述 如何访问 android 中的 json 数组? 我想在程序中使用一个 json 文件.Json 文件结构如下,可以成功的访问 json 数组 "business",但是现在我想访问 business_cat 和 business_cat 中的cat 1 和 cat 2.我该如何访问这些值? { "business":[ { "id":"13", "category":"Dinner&q

python3.5中解析json错误JSONDecodeError

问题描述 python3.5中解析json错误JSONDecodeError 代码如下,错误 json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) 试过用urllib获取这个界面后用json.loads解析,一样的报错QAQ import requests url = 'http://changyan.itc.cn/v2/asset/scsUtil.js?v=20150826191' page = requ

Android编程解析Json格式数据的方法_Android

本文实例讲述了Android编程解析Json格式数据的方法.分享给大家供大家参考,具体如下: package com.practice.json; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.os.Bundle; import android.util.Log; public cla