1.Android中解析json程序代码

简介: Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包。测试代码如下: @Override    protected void onCreate(Bundle savedInstanceState) {       super.onCreate(savedInstanceState);   
  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;

         }

}


目录
相关文章
|
数据采集 监控 API
告别手动埋点!Android 无侵入式数据采集方案深度解析
传统的Android应用监控方案需要开发者在代码中手动添加埋点,不仅侵入性强、工作量大,还难以维护。本文深入探讨了基于字节码插桩技术的无侵入式数据采集方案,通过Gradle插件 + AGP API + ASM的技术组合,实现对应用性能、用户行为、网络请求等全方位监控,真正做到零侵入、易集成、高稳定。
1244 107
|
JSON 缓存 自然语言处理
多语言实时数据微店商品详情API:技术实现与JSON数据解析指南
通过以上技术实现与解析指南,开发者可高效构建支持多语言的实时商品详情系统,满足全球化电商场景需求。
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
JSON 算法 API
淘宝商品评论API接口核心解析,json数据返回
淘宝商品评论API是淘宝开放平台提供的数据服务接口,允许开发者通过编程方式获取指定商品的用户评价数据,包括文字、图片、视频评论及评分等。其核心价值在于:
|
JSON 定位技术 PHP
PHP技巧:解析JSON及提取数据
这就是在PHP世界里探索JSON数据的艺术。这场狩猎不仅仅是为了获得数据,而是一种透彻理解数据结构的行动,让数据在你的编码海洋中畅游。通过这次冒险,你已经掌握了打开数据宝箱的钥匙。紧握它,让你在编程世界中随心所欲地航行。
401 67
|
JSON Java Go
【GoGin】(2)数据解析和绑定:结构体分析,包括JSON解析、form解析、URL解析,区分绑定的Bind方法
bind或bindXXX函数(后文中我们统一都叫bind函数)的作用就是将,以方便后续业务逻辑的处理。
641 3
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
1517 0
|
JSON 自然语言处理 API
多语言实时数据淘宝商品评论API:技术实现与JSON数据解析指南
淘宝商品评论多语言实时采集需结合官方API与后处理技术实现。建议优先通过地域站点适配获取本地化评论,辅以机器翻译完成多语言转换。在合规前提下,企业可构建多语言评论数据库,支撑全球化市场分析与产品优化。
|
安全 Java Android开发
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
641 0
为什么大厂要求安卓开发者掌握Kotlin和Jetpack?深度解析现代Android开发生态优雅草卓伊凡
|
XML JavaScript Android开发
【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式
本文总结了Android中几种常用的网络技术,包括WebView、HttpURLConnection、OKHttp和XML的Pull解析方式。每种技术都有其独特的特点和适用场景。理解并熟练运用这些技术,可以帮助开发者构建高效、可靠的网络应用程序。通过示例代码和详细解释,本文为开发者提供了实用的参考和指导。
760 15

热门文章

最新文章

推荐镜像

更多