Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包。测试代码如下:
@Override protected super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (savedInstanceState == getSupportFragmentManager().beginTransaction() .add(R.id.container, } //第一种方式: String jsonString = "{\"id\":\"1378230362\",\"name\":\"360U1378230362\"}"; System.out.println(jsonString); jsonString = "[" + jsonString + try { JsonReader reader = new JsonReader(new reader.beginArray(); while (reader.hasNext()) { reader.beginObject(); while (reader.hasNext()) { String tagName = reader.nextName(); if (tagName.equals("id")) Toast.makeText(this, System.out.println(reader.nextString()); } else Toast.makeText(this, //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, + "{'num':'兴趣', '外语':28, '历史':45, + "{'num':'爱好', '外语':48, '历史':62, 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; } } |
1.Android中解析json程序代码的更多相关文章
-
Android中解析JSON形式的数据
1.JSON(JavaScript Object Notation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式, ...
-
android 中解析json格式数据
本文来自http://tonysun3544.iteye.com/category/188238 package com.tony.json; import android.app.Activity; ...
-
Android 中解析 JSON
有什么不懂的可以去官网去看看:www.json.org 在google android中也有关于解析JSON的类库:JsonReader,但是只能在3.0以后的版本中才可以用,在这里我们用google ...
-
Android中解析JSON格式数据常见方法合集
待解析的JSON格式的文件如下: [{"id":"5", "version":"1.0", "name&quo ...
-
Android中解析Json数据
在开发中常常会遇到解析json的问题 在这里总结几种解析的方式: 方式一: json数据: private String jsonData = "[{\"name\":\ ...
-
[入门阅读]怎样在android中解析JSON
JSON入门介绍:http://kirin.javaeye.com/blog/616226 也参考了此篇:http://blog.163.com/fushaolin@126/blog/static/1 ...
-
实现android上解析Json格式数据功能
实现android上解析Json格式数据功能,该源码转载于安卓教程网的,http://android.662p.com ,个人感觉还不错的,大家可以看看一下吧. package com.practic ...
-
Android中获取应用程序(包)的大小-----PackageManager的使用(二)
通过第一部分<<Android中获取应用程序(包)的信息-----PackageManager的使用(一)>>的介绍,对PackageManager以及 AndroidMani ...
-
android中解析文件的三种方式
android中解析文件的三种方式 好久没有动手写点东西了,最近在研究android的相关技术,现在就android中解析文件的三种方式做以下总结.其主要有:SAX(Simple API fo ...
随机推荐
-
osip状态机分析
转载于:http://blog.csdn.net/lbc2100/article/details/48342889 OSIP的核心是系统状态机,在不同情况下,系统处于不同的状态,在某一状态下当系统发生 ...
-
持续集成工具Hudson安装实例
安装maven 下载maven,解压 [root@localhost local]# pwd /usr/local [root@localhost local]# -bin.tar.gz [root@ ...
-
[Effective C++ --007]为多态基类声明virtual析构函数
引言: 我们都知道类的一个很明显的特性是多态,比如我们声明一个水果的基类: class Fruit { public: Fruit() {}; ~Fruit(){}; } 那么我们根据这个Fruit基 ...
-
IOS学习之路九(配置restful webservice 框架restkit)
RestKit 是一个开源的 objective-c 框架,容许在 iOS 和 Mac OS X 的 Objective-C 中与 RESTful Web 办事进行交互,包含简单的 HTTP requ ...
-
LeetCode #139. Word Break C#
Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separa ...
-
Numpy 操作
一.Numpy 属性 # 列表转化为矩阵 In []: arr = np.array([[,,],[,,]]) In []: arr Out[]: array([[, , ], [, , ]]) 1, ...
-
Android adt-bundle 开发环境的搭建_windows
本文完全拷贝的是: https://www.jb51.net/article/87953.htm 的文章仅仅用于自己保存学习消息. Android开发环境有三种方式,分别是JDK+SDK+Ecli ...
-
mongoDB的配置以及运行
干嘛的:数据库,nosql(非关系型) 场景:解决大规模数据集合多重数据种类 一.mongoDb安装: 下载地址: https://www.mongodb.com/download-center ...
-
PHP之后期静态绑定
PHP后期静态绑定的(late static bindings) 理解PHP延迟静态绑定 static::中的static其实是运行时所在类的别名,并不是定义类时所在的那个类名.这个东西可以实现在父类 ...
-
xmldecoder漏洞
https://blog.csdn.net/youanyyou/article/details/78990312