json文件怎么解析,json数据的解析方法有哪些

  json文件怎么解析,json数据的解析方法有哪些

  数据是一种取代可扩展置标语言的数据结构,和可扩展标记语言相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。

  写爬虫互联网协议(互联网协议)被封了怎么解决?立即使用

  本篇文章将介绍三种数据解析方式,供大家参考。

  一、JSON解析之传统的JSON解析

  1、生成数据字符串

  公共静态字符串创建JsonString(字符串键,对象值){

  JSON对象JSON对象=new JSON对象();

  jsonObject.put(key,value);返回JSON对象。tostring();

  }2、解析JSON字符串

  分为以下三种情况,一个JavaBean,一个目录数组,一个嵌套地图的目录数组:

  导入Java。util。ArrayList

  导入Java。util。hashmap

  导入Java。util。迭代器;

  导入Java。util。列表;

  导入Java。util。地图;

  导入org。JSON。JSON数组;

  导入org。JSON。JSON对象;

  导入com。安卓。我的JSON。域。人;

  /**

  * 完成对数据数据的解析

  *

  */

  公共类JsonTools {

  public static Person get Person(String key,String jsonString) {

  人员人员=新人();

  尝试{

  JSONObject jsonObject=新JSON对象(JSON字符串);

  JSON对象person对象=JSON对象。getjson对象( person );

  人。setid(person对象。getint( id );

  人。setname(person对象。getstring( name );

  人。设置地址(个人对象。getstring( address );

  } catch(异常e) {

  //TODO:处理异常

  }

  退货人;

  }

  公共静态列表getPersons(String key,String jsonString) {

  list list=new ArrayList();

  尝试{

  JSONObject jsonObject=新JSON对象(JSON字符串);

  //返回数据的数组

  JSON数组JSON数组=JSON对象。getjson数组(key);

  for(int I=0;JSON数组。长度();i ) {

  JSON对象JSON对象2=JSON数组。getjson对象(I);

  人员人员=新人();

  人。setid(JSON对象2。getint( id );

  人。setname(JSON对象2。getstring( name );

  人。设置地址(JSON对象2。getstring( address );

  list.add(人);

  }

  } catch(异常e) {

  //TODO:处理异常

  }

  退货单;

  }

  公共静态列表getList(String key,String jsonString) {

  list list=new ArrayList();

  尝试{

  JSONObject jsonObject=新JSON对象(JSON字符串);

  JSON数组JSON数组=JSON对象。getjson数组(key);

  for(int I=0;JSON数组。长度();i ) {

  string msg=JSON数组。getstring(I);

  列表。添加(味精);

  }

  } catch(异常e) {

  //TODO:处理异常

  }

  退货单;

  }

  公共静态列表列表键映射(字符串键、

  String jsonString) {

  list list=new ArrayList();

  尝试{

  JSONObject jsonObject=新JSON对象(JSON字符串);

  JSON数组JSON数组=JSON对象。getjson数组(key);

  for(int I=0;JSON数组。长度();i ) {

  JSON对象JSON对象2=JSON数组。getjson对象(I);

  map map=new HashMap();

  迭代器iterator=JSON对象2。keys();

  while (iterator.hasNext()) {

  字符串JSON _ key=迭代器。next();

  对象JSON _ value=JSON对象2。get(JSON _ key);

  if (json_value==null) {

  JSON _ value=

  }

  map.put(json_key,JSON _ value);

  }

  list.add(地图);

  }

  } catch(异常e) {

  //TODO:处理异常

  }

  退货单;

  }

  }二、JSON解析之GSON

  导入com。谷歌。gson。gson

  公共类JsonUtils {

  公共静态字符串createJsonObject(Object obj) {

  Gson Gson=new Gson();

  string str=gson。tojson(obj);

  返回字符串;

  }

  }

  //二、解析数据

  导入Java。util。ArrayList

  导入Java。util。列表;

  导入Java。util。地图;

  导入com。谷歌。gson。gson

  导入com。谷歌。gson。反思。类型令牌;

  ;

  公共类GsonTools {

  公共GsonTools() {

  //TODO自动生成的构造函数存根

  }

  /**

  * @param

  * @param jsonString

  * @param cls

  * @返回

  */

  public static T get person(String JSON String,Class cls) {

  T t=空

  尝试{

  Gson Gson=new Gson();

  t=gson.fromJson(jsonString,cls);

  } catch(异常e) {

  //TODO:处理异常

  }

  return t;

  }

  /**

  * 使用Gson进行解析目录

  *

  * @param

  * @param jsonString

  * @param cls

  * @返回

  */

  公共静态列表getPersons(String jsonString,Class cls) {

  list list=new ArrayList();

  尝试{

  Gson Gson=new Gson();

  list=gson.fromJson(jsonString,new TypeToken() {

  }.getType());

  } catch(异常e) {

  }

  退货单;

  }

  /**

  * @param jsonString

  * @返回

  */

  公共静态列表getList(String jsonString) {

  list list=new ArrayList();

  尝试{

  Gson Gson=new Gson();

  list=gson.fromJson(jsonString,new TypeToken() {

  }.getType());

  } catch(异常e) {

  //TODO:处理异常

  }

  退货单;

  }

  公共静态列表listKeyMaps(String jsonString) {

  list list=new ArrayList();

  尝试{

  Gson Gson=new Gson();

  list=gson.fromJson(jsonString,

  新类型令牌(){

  }.getType());

  } catch(异常e) {

  //TODO:处理异常

  }

  退货单;

  }

  }三、JSON解析之FastJSON

  导入Java。util。ArrayList

  导入Java。util。列表;

  导入Java。util。地图;

  导入com。阿里巴巴。快速JSON。JSON

  导入com。阿里巴巴。快速JSON。类型引用;

  公共类JsonTool {

  public static T get person(String JSON String,Class cls) {

  T t=空

  尝试{

  t=JSON.parseObject(jsonstring,cls);

  } catch(异常e) {

  //TODO:处理异常

  }

  return t;

  }

  公共静态列表getPersonList(String jsonstring,Class cls) {

  list list=new ArrayList();

  尝试{

  list=JSON。解析数组(JSON字符串,cls);

  } catch(异常e) {

  //TODO:处理异常

  }

  退货单;

  }

  公共静态列表getPersonListMap1(

  String jsonstring) {

  list list=new ArrayList();

  尝试{

  list=JSON。解析对象(JSON字符串、

  new TypeReference() {

  }.getType());

  } catch(异常e) {

  //TODO:处理异常

  }

  退货单;

  }

  }JSON对于移动设备来说,尤其对于网络环境较差和流量限制的情况下,相对于可扩展置标语言格式的数据传输会更节省流量,传输效率更高。在这三种解析方式中使用是效率最高的,推荐使用。以上就是数据用什么解析的详细内容,更多请关注我们其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • js把字符串转为json,json字符串转换成json对象
  • js把字符串转为json,json字符串转换成json对象,js 将json字符串转换为json对象的方法解析
  • json语法格式,json格式定义
  • json语法格式,json格式定义,Json格式详解
  • json格式数据类型,什么是JSON数据-其常见格式是什么-
  • json格式数据类型,什么是JSON数据-其常见格式是什么-,JSON 数据格式详解
  • json格式怎么写,json文件内容格式
  • json格式怎么写,json文件内容格式,json文件书写格式详解
  • json数组对象转化为json字符串,js把数组转化为json
  • json字符串转换成对象有哪几种方法,字符串转化为json的方法
  • json字符串转换成对象有哪几种方法,字符串转化为json的方法,JSON对象转化为字符串详解
  • json基础介绍与详细用法教程,json基础知识
  • json基础介绍与详细用法教程,json基础知识,JSON基础介绍与详细用法
  • json去掉反斜杠,json字符串中有反斜杠
  • json去掉反斜杠,json字符串中有反斜杠,详解json串反转义(消除反斜杠)
  • 留言与评论(共有 条评论)
       
    验证码: