如题,现在有如下要求,把关键代码给一下吧
功能:显示应用的详细信息
格式:JSON
HTTP请求方式:POST
是否需要登录:false
请求参数:
action: score
app_id: 应用ID
cellphone_id: 应用ID
score: 分数请求结果:
{
“success”:”true”,
“msg”:”提示信息”,
}
功能:显示应用的详细信息
格式:JSON
HTTP请求方式:POST
是否需要登录:false
请求参数:
action: score
app_id: 应用ID
cellphone_id: 应用ID
score: 分数请求结果:
{
“success”:”true”,
“msg”:”提示信息”,
}
解决方案 »
- android 如何实现附加现有数据库?而不是每次安装的时候都创建
- android内部flash挂载问题
- android Canvas 裁剪clipPath的时候怎么过滤锯齿
- 使用Android应用,你们习惯后退键退出还是使用应用自带的退出功能退出?
- Andriod 是不是Linux的一个版本,是不是Linux内核
- 把值赋给String类型变量,在线等
- 如何判断手机中是否有GPS模块设备
- 来小伙伴们围观下,解决下
- 类似淘宝 我的订单 页面该如何设计处理呢?
- 已有android源码,如何添加cifs,nfs到内核
- 请问手机浏览器上能不能通过JS实现调用收藏夹的功能?
- 快速心率检测软件Instant Heart Rate by Azumio 的工作原理
格式:JSON
HTTP请求方式:POST
是否需要登录:false
请求参数:
action: hot请求结果:
{
“success”:”true”,
data:[{ 列表数据,数组形式
"app_id" : "应用ID",
"app_name" : "应用名称",
"icon" : "应用图标URL",
}]
}
这个怎样解析呢,求大神帮忙
网络端与客户端的交互这里就不说了
json转换的方法如下:MyClass myClass= new MyClass();//要转换的对象
GsonBuilder gsonb = new GsonBuilder();
// Json中的日期表达方式没有办法直接转换成我们的Date类型, 因此需要单独注册一个Date的反序列化类.
DateDeserializer ds = new DateDeserializer();
// 给GsonBuilder方法单独指定Date类型的反序列化方法
gsonb.registerTypeAdapter(Date.class, ds);
Gson gson = gsonb.create();
// 将json数据解析成对象
if (!result.equals("0")) {
myClass = gson.fromJson(result, MyClass.class);//result是还未转换的json字符串,在这里进行json转换
}里面有个处理时间的类如下/**
* 处理时间
*/
public class DateDeserializer implements JsonDeserializer<Date> {
public Date deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
String JSONDateToMilliseconds = "\\/(Date\\((.*?)(\\+.*)?\\))\\/";
Pattern pattern = Pattern.compile(JSONDateToMilliseconds);
Matcher matcher = pattern.matcher(json.getAsJsonPrimitive()
.getAsString());
String result = matcher.replaceAll("$2");
return new Date(new Long(result));
}
}
网络端与客户端的交互这里就不说了
json转换的方法如下:MyClass myClass= new MyClass();//要转换的对象
GsonBuilder gsonb = new GsonBuilder();
// Json中的日期表达方式没有办法直接转换成我们的Date类型, 因此需要单独注册一个Date的反序列化类.
DateDeserializer ds = new DateDeserializer();
// 给GsonBuilder方法单独指定Date类型的反序列化方法
gsonb.registerTypeAdapter(Date.class, ds);
Gson gson = gsonb.create();
// 将json数据解析成对象
if (!result.equals("0")) {
myClass = gson.fromJson(result, MyClass.class);//result是还未转换的json字符串,在这里进行json转换
}里面有个处理时间的类如下/**
* 处理时间
*/
public class DateDeserializer implements JsonDeserializer<Date> {
public Date deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context) throws JsonParseException {
String JSONDateToMilliseconds = "\\/(Date\\((.*?)(\\+.*)?\\))\\/";
Pattern pattern = Pattern.compile(JSONDateToMilliseconds);
Matcher matcher = pattern.matcher(json.getAsJsonPrimitive()
.getAsString());
String result = matcher.replaceAll("$2");
return new Date(new Long(result));
}
}
// Json中的日期表达方式没有办法直接转换成我们的Date类型, 因此需要单独注册一个Date的反序列化类.
DateDeserializer ds = new DateDeserializer();
// 给GsonBuilder方法单独指定Date类型的反序列化方法
gsonb.registerTypeAdapter(Date.class, ds);
Type t = new TypeToken<LinkedList<MyClass>>() {}.getType();//关键在这里
Gson gson = gsonb.create();
// 将json数据解析成对象
if (!result.equals("0")) {
list = gson.fromJson(result, t);
}
String list=XXXXXXX;
JSONObject json=new JSONObject(list);
JSONArray array=new JSONArray(json.getString("array"));//2
for (int i = 0; i < array.length(); i++) {
JSONObject jss=array.getJSONObject(i);
String id=jss.getString("XXXX");
}这个是解析数组....如果不是数组类,只需要将2句和for循环给去掉