• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android解析json数据,android解析json

Android解析json数据,android解析json

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android解析json数据,android 生成json数据,android获取json数据,android 缓存json数据,android json数据等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android解析json数据,android解析json


Json数据

[{"code":"110000","sheng":"11","di":"00","xian":"00","name":"北京市","level":1},
{"code":"659004","sheng":"65","di":"90","xian":"04","name":"五家渠市","level":3},
{"code":"710000","sheng":"71","di":"00","xian":"00","name":"台湾省","level":1},
{"code":"810000","sheng":"81","di":"00","xian":"00","name":"香港特别行政区","level":1},
{"code":"820000","sheng":"82","di":"00","xian":"00","name":"澳门特别行政区","level":1}]

  这里附上一个检查json数据格式是否正确的网站http://www.json.cn/

三种解析方式android自带解析,Gson解析,FastJson解析

 

1、android自带解析

 

        json_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String s = getString();
                Log.d("txt",s);
                List<City> list = new ArrayList<City>();
                try {
                    JSONArray obj = new JSONArray(s);
                    for(int i=0;i<obj.length();i++){
                        JSONObject jsonobj = (JSONObject)obj.get(i);
                        City city = new City();
                        city.setCode(jsonobj.getString("code"));
                        city.setSheng(jsonobj.optString("sheng"));
                        city.setDi(jsonobj.optString("di"));
                        city.setXian(jsonobj.optString("xian"));
                        city.setName(jsonobj.optString("name"));
                        city.setLevel(jsonobj.optInt("level"));
                        Log.d("txt",city.toString());
                        textView.append(city.toString());
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }

            }
        });

  先获取JSON数组,在解析JsonObject。

2、Gson解析

 Gson_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String s = getString();
                JsonParser parser = new JsonParser();
                JsonArray jsonArray = parser.parse(s).getAsJsonArray();
                Gson gson = new Gson();
                for (JsonElement obj:jsonArray){
                    City city = gson.fromJson(obj,City.class);
                    Log.d("txt", city.toString());
                    textView.append(city.toString());
                }


            }
        });
这样也可以
  Gson_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String s = getString();
City[] lists = new Gson().fromJson(s, City[].class);
for(City city:lists){
Log.d("txt",city.toString());
}
}
});

这样也可以
son_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String s = getString();
List<City> lists = new ArrayList<City>();
Type type = new TypeToken<ArrayList<City>>(){}.getType();
Gson gson = new Gson();
lists = gson.fromJson(s,type);
for(City city:lists){
Log.d("txt",city.toString());
}
}
});
 

  先获取Json数组,再解析jsonObject。

3、FastJson

 fastjson_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String s = getString();
                Log.d("txt",s);
                List<City> lists = JSON.parseArray(s,City.class);

                for(City city:lists){
                    textView.append(city.toString());
                    Log.d("txt",city.toString());
                }
            }
        });

  直接获取JsonArray解析List<Bean>。

  public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 

    public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject 

    public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean 

    public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray

  public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合 

    public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 

    public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 

    public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray(和上面方法的区别是返回值是不一样的)

 

  三种解析方法,个人感觉fastjson使用起来还是很方便的。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android解析json数据,android解析json

相关文章

  • 2017-05-26关于eclipse android 在manifest改app应用包名注意事项,androidmanifest
  • 2017-05-26Android CursorAdapter的使用,cursoradapter使用
  • 2017-05-26Android新手入门2016(13)--阻塞对话框PopupWindow
  • 2017-08-0258同城Android端HTTPS实践之旅
  • 2017-05-26开源插件 PullToRefresh: PullToRefreshListView / PullToRefreshGridView 实例详解
  • 2017-05-26android WebView控件显示网页,androidwebview
  • 2017-05-26Android UI相关开源项目库汇总,android开源项目
  • 2017-05-26热修复-Tinker,修复-tinker
  • 2017-05-26仿拉手团购App2--当前城市选择Activity,app2--activity
  • 2017-05-26Android系统的“程序异常退出”,android退出

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android_LIFE帮(基于最新百度地图API的开源项目)
    • 在android中使用SQLite数据库
    • Android中BroadcastReceiver的两种注册方式(静态和动态)详解,broadcastreceiver
    • 关于异地容灾的感触
    • Android 热修复使用Gradle Plugin1.5改造Nuwa插件
    • 不一样的Android选择器,简单方便,地址日期时间都好用!,android选择器
    • android——从零开始,android从零开始
    • Android开发笔记(8)——调用子Activity,androidactivity
    • [android] 手机卫士读取联系人,android卫士
    • My First Android Application Project 第一个安卓应用,android安卓

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有