Android中JSON数据的解析

JSON数据:是一款轻量级的数据交换语言,全称:JavaScript Object Notation

Json对象是一个无序的“名称/值,对”集合,

Xml:

<user>
  <name>ZS</name>
  <age>22</age>
  <gender>m</gender>
  <aihao>c</aihao>
  <aihao>h</aihao>
  <aihao>w</aihao>
  <aihao>l</aihao>
  <school>
    <name>tarena</name>
    <loc>bj</loc>
  </school>
</user>

Json:{
  "name":"zs",
  "age":20,
  "gender":"m",
  "aihao":["c", "h", "w", "l"],
  "married":false,
  "school":
    {"name":"tarena","loc":"bj"}
}

Android中如何解析Json?

JsonObject Json对象
String str={
  "name":"zs",
  "age":20,
  "gender":"m",
  "aihao":["c", "h", "w", "l"],
  "married":false,
  "school":
    {"name":"tarena","loc":"bj"}
};
================================
JSONObject obj=new JSONObject(str);
String name=obj.getString("name");
int age=obj.getInt("age");
boolean m=obj.getBoolean("married");
JSONArray ary=obj.getJSONArray("aihao");
JSONObject o2=obj.getJSONObject("school");
o2.getString("name")


obj.getJSONObject("school").getString("loc")
============================================
JSONArray  JSON数组
String str=[ 
             {"name":"zs"}, 
             "hello", 
             true,
             ["c","h"]
           ];
JSONArray ary=new JSONArray(str);
ary.length()  JSONArray的长度
ary.getJSONObject(0).getString("name")
ary.getString(1)
ary.getJSONArray(3).getString(1)
================================================

谷歌Gson技术解析:

1.GSON 这个java类库可以把java对象转换成Json,也可以把Json字符串转换成一个相等的Java对象
2. Gson支持任意复杂Java对象包括没有源代码的对象
package com.nizk;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;


public class GsonTools {
public GsonTools(){

}

public static String createGsonString(Object object){
Gson gson =new Gson();
String gsonString =gson.toJson(object);
return gsonString;
}

public static <T> T changeGsonToBean(String gsonString, Class<T> cls) {
Gson gson = new Gson();
T t = gson.fromJson(gsonString, cls);
return t;
}


public static <T> List<T> changeGsonToList(String gsonString, Class<T> cls) {
Gson gson = new Gson();
List<T> list_person = gson.fromJson(gsonString,
new TypeToken<List<T>>() {
}.getType());
return list_person;
}


public static List<Map<String, Object>> changeGsonToListMaps(String gsonString) {
List<Map<String, Object>> list = null;
Gson gson = new Gson();
list = gson.fromJson(gsonString,
new TypeToken<List<Map<String, Object>>>() {
}.getType());
return list;
}


/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// Person person1 = new Person("张三1", 24, "北京1");
// Person person2 = new Person("张三2", 23, "北京2");
// List<Person> list = new ArrayList<Person>();
// list.add(person1);
// list.add(person2);
//
// String gsonString = createGsonString(list);
// System.out.println(gsonString);
// Gson gson = new Gson();
// List<Person> list_person = changeGsonToList(gsonString,Person.class);
// System.out.println(list_person.toString());
// Person pp = changeGsonToBean(gsonString,Person.class);
// System.out.println(pp);
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "jack");
map.put("age", 23);
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("name", "rose");
map2.put("age", 24);
list.add(map);
list.add(map2);
String gsonString = createGsonString(list);
System.out.println(gsonString);
List<Map<String, Object>> list2 = changeGsonToListMaps(gsonString);
System.out.println(list2.toString());
}



}

阿里巴巴FastJson技术解析:

1.FastJson送是一个Json处理工具包,包括序列号和反序列化两个部分:
2.速度最快,测试表明,fastjson具有极快的性能,超越其他的Java Json parse,包括自称最快的JackJson
3.功能强大,完成支持JavaBean、集合、Map、日期、emum、支持泛型,支持自省
4.无依赖,能够直接运行在Java SE5.0以上版本
5、支持android ,开源(Apache2.0)
package com.nizk;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;


public class Myfastjson {
public Myfastjson(){

}

public static String createJsonString(Object object){
String jsonString =JSON.toJSONString(object);
return jsonString;
}

public static <T> T createJsonBean(String jsonString,Class<T> cls){
T t =JSON.parseObject(jsonString, cls);
return t;
}

public static <T> List<T> createJsonToListBean(String jsonString,Class<T> cls){
List<T> list =null;
list =JSON.parseArray(jsonString, cls);
return list;
}

public static List<Map<String, Object>> createJsonToListMap(String jsonString){
List<Map<String, Object>> list2 =JSON.parseObject(jsonString, 
new TypeReference<List<Map<String,Object>>>(){

});
return list2;
}

public static void main(String[] args) {
List<Map<String, Object>> list =new ArrayList<Map<String,Object>>();
Map<String, Object> map =new HashMap<String, Object>();
map.put("name", "jack");
map.put("age", 23);

Map<String, Object> map1 =new HashMap<String, Object>();
map1.put("name", "rose");
map1.put("age", 23);
list.add(map);
list.add(map1);

String jsonString =JSON.toJSONString(list);
System.out.println(jsonString);
List<Map<String, Object>> list2 =JSON.parseObject(jsonString,
new TypeReference<List<Map<String,Object>>>(){

});
System.out.println(list2.toString());
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与国已互相成为双方最大的交易伙伴。国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占国外贸总值的15.4%。在过去20余年,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值