SDET json解析与打包

part 1 建立DataStream类

  1. package com.huaqin.hat;
  2. /**
  3. * creator:perfe wang
  4. * time:2016/6/28
  5. * description:数据类,特用于json解析和打包,属性为json对象的key,属性值为json的内部类
  6. * 其内部类用于规定其属性的传递格式
  7. */
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. publicclassDataStream{
  11. publicint TYPE =-1;
  12. publicList<Device> devices_list =newArrayList<Device>();
  13. publicList<CaseSend> case_send_list =newArrayList<CaseSend>();
  14. publicList<CaseReceive> case_receive_list =newArrayList<CaseReceive>();
  15. publicstaticclassDevice{
  16. publicint id =-1;
  17. publicString name ="";
  18. publicString sim1 ="";
  19. publicString sim2 ="";
  20. publicint sdcard =-1;
  21. publicint state =-1;
  22. publicint waiting_case_count =-1;
  23. publicString configversion ="";
  24. publicint deviceId =-1;
  25. }
  26. publicstaticclassCaseSend{
  27. publicString name ="";
  28. publicint type =-1;
  29. publiclong jarId =-1;
  30. publiclong caseId =-1;
  31. publicString address ="";
  32. publicint caseStastusId =-1;
  33. publicint planId =-1;
  34. publicString sim1 ="";
  35. publicString sim2 ="";
  36. publicint sdcard =-1;
  37. }
  38. publicstaticclassCaseReceive{
  39. publicString case_stastus ="";
  40. publicString logAdrr ="";
  41. publicint caseStastusId =-1;
  42. publicint planId =-1;
  43. publicString startTime ="";
  44. publicString endTime ="";
  45. }
  46. }

part 2 建立json解析工具

  1. package com.huaqin.hat;
  2. /**
  3. * creator:perfe wang
  4. * time:2016/6/28
  5. * description:基于DataStream的json解析工具类
  6. * receive方法接受json对象解析成DataStream对象并返回
  7. * send方法接受DataStream对象打包成json字符串并返回
  8. * caseJsonUtil接受原始的DbAdapter.Case.Object对象解析成CaseSend对象并返回
  9. */
  10. import net.sf.json.JSONObject;
  11. import com.google.gson.Gson;
  12. import com.google.gson.reflect.TypeToken;
  13. import com.huaqin.hat.DataStream.CaseSend;
  14. publicclassDataJsonUtil{
  15. publicDataStream receive(String data){
  16. Gson gson =newGson();
  17. java.lang.reflect.Type type =newTypeToken<DataStream>(){
  18. }.getType();
  19. DataStream data_receive = gson.fromJson(data, type);
  20. return data_receive;
  21. }
  22. publicString send(DataStream dataBean){
  23. Gson gson =newGson();
  24. String json = gson.toJson(dataBean);
  25. return json;
  26. }
  27. publicCaseSend caseJsonUtil(DbAdapter.Case.Object caseObject){
  28. CaseSend caseSend =newCaseSend();
  29. caseSend.name = caseObject.name;
  30. caseSend.type = caseObject.type;
  31. caseSend.address = caseObject.address;
  32. caseSend.jarId = caseObject.jarId;
  33. caseSend.caseId = caseObject.caseId;
  34. String json = caseObject.description;
  35. JSONObject jsonObject =JSONObject.fromObject(json);
  36. caseSend.sdcard = jsonObject.getInt("sdcard");
  37. caseSend.sim1 = jsonObject.getString("sim1");
  38. caseSend.sim2 = jsonObject.getString("sim2");
  39. return caseSend;
  40. }
  41. }

part 3 自己实现自测试

  1. package com.huaqin.hat;
  2. import java.util.List;
  3. import com.huaqin.hat.DataStream.Device;
  4. publicclassJsonTest{
  5. /**
  6. * @param args
  7. */
  8. publicstaticvoid main(String[] args){
  9. // json工具类
  10. DataJsonUtil jsonUtil =newDataJsonUtil();
  11. // 接受的data数据
  12. // 发送的data数据
  13. }

来自为知笔记(Wiz)

时间: 2024-08-04 21:14:56

SDET json解析与打包的相关文章

json解析:[1]gson解析json

客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象.但是用jsonObject和jsonArray解析相对麻烦.利用Gson和阿里的fastjson可以很方便的将下面四种常用的数据转换成json字符串,并能够将其解析成原数据对象 类型一:JavaBean 类型二:List<JavaBean> 类型三:List<String> 类型四:List<Map<String,Object>> 将上面的四种数

json解析 本地文件和网上文件(通过接口)

json解析 对本地文件解析 NSString *path =[[NSBundle mainBundle] pathForResource:@"movielist" ofType:@"txt"]; // 第二个参数,制定一个容器来接收解析后的数据 NSMutableDictionary *dic =[NSJSONSerialization JSONObjectWithData:data option:NSJSONReadingMutableContainers er

Android网络请求框架AsyncHttpClient实例详解(配合JSON解析调用接口)

最近做项目要求使用到网络,想来想去选择了AsyncHttpClient框架开进行APP开发.在这里把我工作期间遇到的问题以及对AsyncHttpClient的使用经验做出相应总结,希望能对您的学习有所帮助. 首先按照惯例先来简单了解一些AsyncHttpClient网络框架的一些知识. 1.简介 Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类库需要写大量的代码才能完成网络post和get请求,而使用android-a

Linux json解析jq

jq是一个linux下很方便的json解析器,平时看json文件都是一行混在一起的,非常不适合阅读. https://stedolan.github.io/jq/download/ 直接到官网上下载,然后像运行普通程序一样运行就可以了. 1.最常用的用法是 ./jq . filename 格式化输出filename 2.将格式化的json输出,反向转换变成一行.(什么,没什么卵用,呵呵,真正碰到需要用的时候愁死你) ./jq -c . filename 还有很多用法,直接上官方说明: https

Java基础知识强化103:JSON解析框架汇总

1.Gson Gson是Google提供的一个能够将Java对象转换成相应JSON表达形式的一个开源Java类库,当然用Gson也能将JSON字符串转换成与之等价的Java对象.Gson对于任何Java对象都有效,包括那些预先存在没有源代码的对象. 现在已经有一些能将Java对象转换成JSON的开源项目了.但是大多数项目都要求你在类文件中加入Java注解,而当你无法改动源代码的时候这是无法做到的.并且它们也不支持Java泛型.但是Gson却将这两点作为自己非常重要的设计目标. 目标 使用toJs

Android 之json解析2

JSON(JavaScript Object Notation) 定义:字符串 键值对 解析方法有JSON,谷歌GSON,阿里巴巴FastJSON 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性. 业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换. JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. Json建构于两种结构: 1.“名称/值”对的集合(A collection of name

核心技术篇:6.android网络编程之json解析

前言:好一段时间没写博客了,说最近挺忙的,感觉像是个借口,每天还是同样的24个小时,每天还是同样的5:30就准时下班,每天晚上还是有大量的空余时间...最直接的原因就是,最近堕落了.脑子里也时常会有很多想法浮现,都是些比较实际的想法,但往往就是浮现那一下,心情激动了一下,心里默默告诉自己,有时间就要这么做...好多想法都被一些其它的诱惑给磨灭掉了,要么是打球.要么是看电影.要么是处理一些乱七八糟的事去了.总之,近段时间,花在技术上的时间很少很少,好好反思下. 前段时间,来了一位新疆的客户,提出了

Android JSON 解析库的使用 - Gson 和 fast-json

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.C#.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(网络传输速率). GSON是由谷歌官方推出的 JSON 与 Java 对象转化的 Java类库 fast-json 阿里推

Cocos2d-x3.0 Json解析

在Cocos2dx3.0下,JSON解析库官方已经集成好了.我们引用就OK. JSON文件hello.json内容 {"pets":["dog","cat"],"stuInfo":{"stuAge":"23","stuName":"zhangsan","birthday":"1990-01-12"},&quo