在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(JavaScript Object Notation)是一种轻量级的数据...理解并掌握上述知识点,对于在Struts2框架下进行JSON解析和处理至关重要。正确配置和使用相关jar包,能够帮助开发者高效地构建出支持JSON交互的Java web应用。
7. **错误处理和调试**:在调用API和处理JSON过程中,PB开发者需要考虑错误处理,包括网络错误、JSON解析错误等,同时利用PB的调试工具进行问题排查。 通过这些知识点,PB开发者能够构建起与JSON数据源的有效交互,...
PB Json解析库是一种用于处理协议缓冲区(Protocol Buffers,简称PB)与JSON之间相互转换的工具。在软件开发中,尤其是涉及到数据交换时,PB和JSON都扮演着重要的角色。PB是Google推出的一种高效的数据序列化协议,...
易语言、易Json解析模块、水淼Json 易语言水淼JSON解析模块源码自主解析JSON数据类型,使用树来直观清晰显示出所有结构,辅助程序员快速定位JSON节点提高开发效率。
标签中的“hiJson”和“json解析工具”进一步确认了这个软件的主要功能,即处理JSON数据。而“离线解析工具”再次强调了其无网络依赖的特点,用户可以在任何时间、任何地点对JSON数据进行操作。 离线JSON解析工具...
总的来说,理解和掌握JSON解析是现代Web开发的基本技能之一。无论你是前端开发者还是后端开发者,都需要能够有效地读取、解析和生成JSON数据。通过学习和实践,你可以熟练地利用JSON这一强大的工具进行数据交换和...
我们将涵盖两种解析方式:本地JSON解析和在线JSON解析。 ### 1. JSON基础知识 JSON是一种文本格式,基于JavaScript语法,但独立于语言。它以键值对的形式存储数据,如`"key": "value"`。数组可以通过方括号`[]`表示...
Unity引擎是一款广泛应用于...总结来说,Unity在WebGL平台使用json解析.dll涉及到对JSON数据的处理,DLL的打包和WebGL的兼容性问题。理解这些知识点可以帮助开发者有效地在Unity WebGl项目中集成和使用JSON解析功能。
总之,"鬼脸JSON解析小工具forMac"是一款专为Mac用户打造的高效JSON解析应用,它的存在使得处理JSON数据变得更加简单和愉快。无论是前端开发者调试接口,还是后端工程师分析返回结果,都能从中受益。通过其便捷的...
本话题主要涉及使用易语言进行JSON解析,特别是针对页面订单数据的处理。 在“易语言页面订单json解析”项目中,核心任务是获取网页源码中的订单信息,并将其解析为可操作的数据结构。易语言是一种中文编程语言,...
### Kettle与JSON解析概述 #### 1. **Kettle简介** - Kettle(Pentaho Data Integration,简称PDI)是一款开源的数据集成工具,广泛用于ETL(Extract-Transform-Load)任务。 - Kettle支持多种数据源,包括关系型...
通过aop拦截获取json请求数据,对数据进行处理判断,如果不合法则抛出异常,配置全局异常处理类,在异常处理类中直接将处理结果返回调用处,减少每次在方法中解析json数据然后在判断,减少代码冗余
这对于学习JSON处理和JavaScript编程技巧都非常有帮助。同时,如果你在实际项目中遇到JSON相关的操作,这个库或许能提供一些解决方案。记得在使用前仔细阅读文档,确保其与你的项目需求兼容,并且理解其使用方式,以...
在C#编程环境中,处理JSON数据是常见的任务,尤其是在需要解析多级嵌套结构时。本篇文章将深入探讨如何在C#中对多级JSON进行解析,并通过实际代码示例来阐述其原理。 首先,我们需要了解C#中用于解析JSON的库,最...
总结,Gson是Java开发中处理JSON数据的强大工具,它提供了简洁的API,使得JSON解析和反解析变得轻松高效。无论是在本地文件操作还是网络数据交互中,Gson都能发挥重要作用。理解并熟练掌握Gson的使用,对于提升Java...
json11是一个小型且易于使用的C++ JSON解析器和生成器,它提供了将JSON字符串转换为C++对象以及反之的过程。下面我们将详细讨论如何在MFC项目中集成json11库,并实现JSON数据的解析和序列化。 首先,你需要获取json...
不过,需要注意的是,由于这是2015年的版本,可能不包含最新的JSON解析技术和安全更新,对于最新的JSON规范支持可能存在局限,而且在当前的软件环境下运行可能不稳定或者存在兼容性问题。建议使用最新版本的JSON解析...
在实际开发中,你可能需要处理来自不同源的JSON数据,这时,了解如何使用Newtonsoft.Json高效地解析和操作JSON,将会极大地提高你的工作效率。对于新手来说,多做实践,尝试解析不同结构的JSON,是掌握这一技能的...
在C#中,当你面对未知结构的JSON数据,即不能预先定义强类型对象时,可以使用`Dictionary, object>`作为载体,将JSON解析为键值对的形式。 以下是使用Json.NET库解析JSON的基本步骤: 1. 引入库:确保项目引用了...
其特点在于极强的兼容性和简约的用户界面,这使得它成为开发者处理和分析长JSON字符串的理想选择。对于那些需要频繁处理复杂JSON数据的人来说,这样的工具能够提供清晰的视图,帮助他们快速定位和理解数据结构。 `...