`

json解析和处理

阅读更多
  在android调用webservice时,经常要对json的格式进行处理,现在有两种方法

  去处理:

  1 使用JSONObject 和 JSONTokener去解析

  2 使用GSON库

  先看第一种方法,假如有如下的json字符串:

java代码:

{
  “name”: “myName”,
  “message”: ["myMessage1","myMessage2"],
  “place”: “myPlace”,
  “date”: ”thisDate”
  }

       第一种解决方法:

java代码:

public class main extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  try {
  TextView tv = (TextView)findViewById(R.id.TextView01);
  String json = “{”
  + “ ”name”: ”myName”, ”
  + “ ”message”: [\"myMessage1\",\"myMessage2\"],”
  + “ ”place”: ”myPlace”, ”
  + “ ”date”: ”thisDate” ”
  + “}”;
  /* Create a JSON object and parse the required values */
  JSONObject object = (JSONObject) new JSONTokener(json).nextValue();
  String name = object.getString(“name”);
  String place = object.getString(“place”);
  String date = object.getString(“date”);
  JSONArray message = object.getJSONArray(“message”);
  tv.setText(“Name: “+ name +” ”);
  tv.append(“Place: “+ place +” ”);
  tv.append(“Date: “+ date +” ”);
  for(int i=0;i< p>
  {
  tv.append(“Message: “+ message.getString(i) +” ”);
  }

       2 使用GSON类库
  GOOGLE提供的gson类库,地址在:

java代码:

public class JSON_structure {
  public String name;
  public String place;
  public String date;
  public String[] message;
  }

       这其实是个POJO类

java代码:

try {
  /* Inflate TextView from the layout */
TextView tv = (TextView)findViewById(R.id.TextView01);
  /* JSON data considered as an example. Generally this data is obtained
  from a web service.*/
  String json = “{”
  + “ ”name”: ”myName”, ”
  + “ ”message”: [\"myMessage1\",\"myMessage2\"],”
  + “ ”place”: ”myPlace”, ”
  + “ ”date”: ”thisDate” ”
  + “}”;
  Gson gson = new Gson();
  JSON_structure obj= gson.fromJson(json, JSON_structure.class);
  tv.setText(“Name: “+ obj.name +” ”);
  tv.append(“Place: “+ obj.place +” ”);
  tv.append(“Date: “+ obj.date +” ”);
  for(int i=0;i< p>
  {
  tv.append(“Message: “+ obj.message +” ”);
  }
  }
  catch(Exception ex){ex.printStackTrace();}
  }
  } catch (JSONException e) {e.printStackTrace();}
  catch(Exception ex){ex.printStackTrace();}
  }
  }
分享到:
评论

相关推荐

    json 解析所依赖的jar包

    JSON(JavaScript Object Notation)是一种轻量级的数据...理解并掌握上述知识点,对于在Struts2框架下进行JSON解析和处理至关重要。正确配置和使用相关jar包,能够帮助开发者高效地构建出支持JSON交互的Java web应用。

    PB解析json,解析JSON案例,解析jsondemo

    7. **错误处理和调试**:在调用API和处理JSON过程中,PB开发者需要考虑错误处理,包括网络错误、JSON解析错误等,同时利用PB的调试工具进行问题排查。 通过这些知识点,PB开发者能够构建起与JSON数据源的有效交互,...

    PB Json解析库

    PB Json解析库是一种用于处理协议缓冲区(Protocol Buffers,简称PB)与JSON之间相互转换的工具。在软件开发中,尤其是涉及到数据交换时,PB和JSON都扮演着重要的角色。PB是Google推出的一种高效的数据序列化协议,...

    易语言Json解析模块

    易语言、易Json解析模块、水淼Json 易语言水淼JSON解析模块源码自主解析JSON数据类型,使用树来直观清晰显示出所有结构,辅助程序员快速定位JSON节点提高开发效率。

    json离线解析工具

    标签中的“hiJson”和“json解析工具”进一步确认了这个软件的主要功能,即处理JSON数据。而“离线解析工具”再次强调了其无网络依赖的特点,用户可以在任何时间、任何地点对JSON数据进行操作。 离线JSON解析工具...

    JSON 解析 示例代码

    总的来说,理解和掌握JSON解析是现代Web开发的基本技能之一。无论你是前端开发者还是后端开发者,都需要能够有效地读取、解析和生成JSON数据。通过学习和实践,你可以熟练地利用JSON这一强大的工具进行数据交换和...

    Android 安卓 json解析

    我们将涵盖两种解析方式:本地JSON解析和在线JSON解析。 ### 1. JSON基础知识 JSON是一种文本格式,基于JavaScript语法,但独立于语言。它以键值对的形式存储数据,如`"key": "value"`。数组可以通过方括号`[]`表示...

    Unity能够在WebGL包使用的json解析.dll

    Unity引擎是一款广泛应用于...总结来说,Unity在WebGL平台使用json解析.dll涉及到对JSON数据的处理,DLL的打包和WebGL的兼容性问题。理解这些知识点可以帮助开发者有效地在Unity WebGl项目中集成和使用JSON解析功能。

    鬼脸JSON解析小工具forMac

    总之,"鬼脸JSON解析小工具forMac"是一款专为Mac用户打造的高效JSON解析应用,它的存在使得处理JSON数据变得更加简单和愉快。无论是前端开发者调试接口,还是后端工程师分析返回结果,都能从中受益。通过其便捷的...

    易语言页面订单json解析

    本话题主要涉及使用易语言进行JSON解析,特别是针对页面订单数据的处理。 在“易语言页面订单json解析”项目中,核心任务是获取网页源码中的订单信息,并将其解析为可操作的数据结构。易语言是一种中文编程语言,...

    kettle解析json串

    ### Kettle与JSON解析概述 #### 1. **Kettle简介** - Kettle(Pentaho Data Integration,简称PDI)是一款开源的数据集成工具,广泛用于ETL(Extract-Transform-Load)任务。 - Kettle支持多种数据源,包括关系型...

    springmvc JSON解析全局异常处理

    通过aop拦截获取json请求数据,对数据进行处理判断,如果不合法则抛出异常,配置全局异常处理类,在异常处理类中直接将处理结果返回调用处,减少每次在方法中解析json数据然后在判断,减少代码冗余

    JSON解析和反解析源代码

    这对于学习JSON处理和JavaScript编程技巧都非常有帮助。同时,如果你在实际项目中遇到JSON相关的操作,这个库或许能提供一些解决方案。记得在使用前仔细阅读文档,确保其与你的项目需求兼容,并且理解其使用方式,以...

    C#对多级json解析

    在C#编程环境中,处理JSON数据是常见的任务,尤其是在需要解析多级嵌套结构时。本篇文章将深入探讨如何在C#中对多级JSON进行解析,并通过实际代码示例来阐述其原理。 首先,我们需要了解C#中用于解析JSON的库,最...

    Json解析Gson解析

    总结,Gson是Java开发中处理JSON数据的强大工具,它提供了简洁的API,使得JSON解析和反解析变得轻松高效。无论是在本地文件操作还是网络数据交互中,Gson都能发挥重要作用。理解并熟练掌握Gson的使用,对于提升Java...

    MFC使用json11解析JSON

    json11是一个小型且易于使用的C++ JSON解析器和生成器,它提供了将JSON字符串转换为C++对象以及反之的过程。下面我们将详细讨论如何在MFC项目中集成json11库,并实现JSON数据的解析和序列化。 首先,你需要获取json...

    JSON解析最新版20151017超简JSON效验解析器

    不过,需要注意的是,由于这是2015年的版本,可能不包含最新的JSON解析技术和安全更新,对于最新的JSON规范支持可能存在局限,而且在当前的软件环境下运行可能不稳定或者存在兼容性问题。建议使用最新版本的JSON解析...

    c#利用Newtonsoft.Json解析json(带数组)

    在实际开发中,你可能需要处理来自不同源的JSON数据,这时,了解如何使用Newtonsoft.Json高效地解析和操作JSON,将会极大地提高你的工作效率。对于新手来说,多做实践,尝试解析不同结构的JSON,是掌握这一技能的...

    C#中Json 解析类库,使用dictionary 解析未知字段的对象

    在C#中,当你面对未知结构的JSON数据,即不能预先定义强类型对象时,可以使用`Dictionary, object&gt;`作为载体,将JSON解析为键值对的形式。 以下是使用Json.NET库解析JSON的基本步骤: 1. 引入库:确保项目引用了...

    非常好的Json解析器

    其特点在于极强的兼容性和简约的用户界面,这使得它成为开发者处理和分析长JSON字符串的理想选择。对于那些需要频繁处理复杂JSON数据的人来说,这样的工具能够提供清晰的视图,帮助他们快速定位和理解数据结构。 `...

Global site tag (gtag.js) - Google Analytics