当前位置: 首页 > news >正文

凡科做的网站手机版活动推广软文

凡科做的网站手机版,活动推广软文,政务微信app下载,如何做二手车网站json字符串的处理 【1】解析json字符串(1)如果json格式字符串 ,最外层 是 中括号,表示数组,就使用方法(2)如果json格式字符串,最外层是 大括号,表示对象,就是…

json字符串的处理

  • 【1】解析json字符串
    • (1)如果json格式字符串 ,最外层 是 中括号,表示数组,就使用方法
    • (2)如果json格式字符串,最外层是 大括号,表示对象,就是用方法
    • (3)数组 和 对象可以相互嵌套
    • (4)java遍历修改json数组里的某个字段值
    • (5)java遍历修改更复杂的嵌套json数组里的某个字段值
  • 【2】JSONUtil工作介绍
    • (1)JSON字符串创建
    • (2)JSON字符串解析
    • (3)XML字符串转换为JSON
    • (4)JSON转换为XML
    • (5)JSON转Bean
    • (6)常见JSON操作方法

【1】解析json字符串

java处理json格式字符串,首先转成 JSONArray 或 JSONObject 类型(如果有实际对象类的话,也可以直接转成对象)

(1)如果json格式字符串 ,最外层 是 中括号,表示数组,就使用方法

JSONArray array = JSONArray.parseArray(text);

(2)如果json格式字符串,最外层是 大括号,表示对象,就是用方法

JSONObject result = JSONArray.parseObject(text);

(3)数组 和 对象可以相互嵌套

就相当于 JSONArray 和 JSONObject 可以相互嵌套, JSON对象的用法和java中 List Map 用法是一样的!
1-可以通过JSONArray循环获取每一项的值 有get 和 add 方法 取值 赋值
2-JSONObject 可以 通过 get 和 put 方法取值赋值
处理完数据后,还可以通过 toJSONString方法转为字符串

(4)java遍历修改json数组里的某个字段值

JSONArray feedetailList = data.getJSONArray("feedetailList");
for (int i = 0; i < feedetailList.size(); i++) {feedetailList.getJSONObject(i).put("psnNo",data.getString("psnNo"));
}

(5)java遍历修改更复杂的嵌套json数组里的某个字段值

(1)因为没有具体的对象,所以将json直接转成json数组JSONObject
(2)在取嵌套的内容时,如果是数组就用getJSONArray,如果是对象就用getJSONObject
(3)要往数组里存入值就用add,取值就用get;要往对象里存入值就用set,取值就用get

// 实时更新数据
DataModelRelation dataModelRelation = indDataModel.getDataModelRelation();
String layout = dataModelRelation.getLayout();
// 解析 JSON 字符串为 JSONObject
JSONObject jsonObject = new JSONObject(layout);// 获取最底层的 JSONArray
JSONArray layoutInfo = jsonObject.getJSONArray("cells");
for (int i = 0; i < layoutInfo.size(); i++) {JSONObject cell = layoutInfo.getJSONObject(i);JSONObject data = cell.getJSONObject("data");if (ObjectUtil.isNotNull(data)) {String id = data.get("id").toString();if (ObjectUtil.isNotNull(id)) {IndTable indTable = iIndTableRepo.queryById(Long.valueOf(id));if (ObjectUtil.isNotNull(indTable)) {layoutInfo.getJSONObject(i).getJSONObject("data").set("tableNameZh",indTable.getTableNameZh());}}}
}
jsonObject.set("cells",layoutInfo);
dataModelRelation.setLayout(JSONUtil.toJsonStr(jsonObject));
indDataModel.setDataModelRelation(dataModelRelation);

【2】JSONUtil工作介绍

(1)JSON字符串创建

JSONUtil.toJsonStr可以将任意对象(Bean、Map、集合等)直接转换为JSON字符串。 如果对象是有序的Map等对象,则转换后的JSON字符串也是有序的。

    /*** 转换为JSON字符串* <p>* 被转为JSON的对象** @return JSON字符串*/@Testvoid toJsonStrTest() {//mapSortedMap<Object, Object> sortedMap = new TreeMap<Object, Object>() {private static final long serialVersionUID = 1L;{put("attributes", "a");put("b", "b");put("c", "c");}};//对象Student beanString = new Student(1, 1, 1, "张三");//集合List<Student> list = new ArrayList<>();list.add(new Student(1, 1, 1, "张三"));list.add(new Student(1, 1, 2, "李四"));list.add(new Student(1, 1, 3, "王五"));System.out.println("JSONUtil.toJsonStr(beanString) = " + JSONUtil.toJsonStr(beanString));System.out.println("JSONUtil.toJsonStr(sortedMap) = " + JSONUtil.toJsonStr(sortedMap));System.out.println("JSONUtil.toJsonStr(list) = " + JSONUtil.toJsonStr(list));}

结果

JSONUtil.toJsonStr(beanString) = {"gradeId":0,"studentId":1,"termId":1,"classId":1,"name":"张三"}
JSONUtil.toJsonStr(sortedMap) = {"attributes":"a","b":"b","c":"c"}
JSONUtil.toJsonStr(list) = [{"gradeId":0,"studentId":1,"termId":1,"classId":1,"name":"张三"},
{"gradeId":0,"studentId":2,"termId":1,"classId":1,"name":"李四"},
{"gradeId":0,"studentId":3,"termId":1,"classId":1,"name":"王五"}]

如果我们想获得格式化后的JSON,则:

JSONUtil.toJsonPrettyStr(object);System.out.println("JSONUtil.toJsonPrettyStr(sortedMap) = "+ JSONUtil.toJsonPrettyStr(sortedMap));

结果

JSONUtil.toJsonPrettyStr(sortedMap) = {"attributes": "a","b": "b","c": "c"
}

(2)JSON字符串解析

/*** JSON字符串转JSONObject对象* <p>* JSON字符串** @return JSONObject*/
@Test
void Test() {String html = "{\"name\":\"Something must have been changed since you leave\"}";JSONObject jsonObject = JSONUtil.parseObj(html);System.out.println("jsonObject.getStr(\"name\") = " + jsonObject.getStr("name"));
}

结果

jsonObject.getStr("name") = Something must have been changed since you leave

(3)XML字符串转换为JSON

    /*** XML字符串转为JSONObject**  XML字符串* @return JSONObject*/@Testvoid parseFromXmlTest() {String s = "<sfzh>123</sfzh><sfz>456</sfz><name>aa</name><gender>1</gender>";JSONObject json = JSONUtil.parseFromXml(s);System.out.println("json.get(\"sfzh\") = " + json.get("sfzh"));System.out.println("json.get(\"name\") = " + json.get("name"));}

结果

json.get("sfzh") = 123
json.get("name") = aa

(4)JSON转换为XML

    /*** 转换为XML字符串** @param json JSON* @return XML字符串*/@Testvoid toXmlStrTest() {final JSONObject put = JSONUtil.createObj().set("aaa", "你好").set("键2", "test");// <aaa>你好</aaa><键2>test</键2>final String s = JSONUtil.toXmlStr(put);System.out.println("s = " + s);}

结果

s = <aaa>你好</aaa><2>test</2>

(5)JSON转Bean

我们先定义两个较为复杂的Bean(包含泛型)

    @Datapublic class ADT {private List<String> BookingCode;}@Datapublic class Price {private List<List<ADT>> ADT;}/*** JSON字符串转为实体类对象,转换异常将被抛出** @param <T>        Bean类型* @param jsonString JSON字符串* @param beanClass  实体类对象* @return 实体类对象* @since 3.1.2*/@Testvoid toBeanTest() {String json = "{\"ADT\":[[{\"BookingCode\":[\"N\",\"N\"]}]]}";Price price = JSONUtil.toBean(json, Price.class);System.out.println("price = " + price);}

(6)常见JSON操作方法

put(key, value): 向JSON对象中添加键值对。
get(key): 获取JSON对象中指定键的值。
getString(key): 获取JSON对象中指定键的字符串值。
getInt(key): 获取JSON对象中指定键的整数值。
getJSONObject(key): 获取JSON对象中指定键的嵌套JSON对象。
getJSONArray(key): 获取JSON对象中指定键的JSON数组。
toString(): 将JSON对象转换为字符串。
parse(jsonString): 解析JSON字符串为JSON对象。
toBean(jsonString,class):将JSON转换为Java对象
toJsonStr(object):将Java对象转换为JSON字符串

使用实例

javaCopy codeimport com.example.JSONUtil; // 假设这是的JSONUtil类public class JSONUtilExample {public static void main(String[] args) {// 创建JSON对象JSONUtil jsonUtil = new JSONUtil();jsonUtil.put("name", "John");jsonUtil.put("age", 30);// 将JSON转为字符串String jsonString = jsonUtil.toString();System.out.println("JSON String: " + jsonString);// 解析JSON字符串JSONUtil parsedJSON = JSONUtil.parse(jsonString);String name = parsedJSON.getString("name");int age = parsedJSON.getInt("age");System.out.println("Name: " + name);System.out.println("Age: " + age);//使用JSONUtil.toBean将JSON转换为Java对象//假设从某个来源获取了一个JSON字符串String jsonString = "{\"name\":\"John\",\"age\":30}";Person person = JSONUtil.toBean(jsonString, Person.class);// 使用JSONUtil.toJsonStr将Java对象转换为JSON字符串Person person = new Person("John", 30, new String[]{"Reading", "Gaming"});String jsonStr = JSONUtil.toJsonStr(person);}}
http://www.khdw.cn/news/57685.html

相关文章:

  • 搜索引擎营销分类网站优化联系
  • 携程网网站规划建设特点武汉seo诊断
  • java 做网站慢吗怎么免费创建个人网站
  • 网站建设资讯平台百度游戏排行榜风云榜
  • 卖钢材做哪个宣传网站长沙网站包年优化
  • 石家庄网站建设时光抖音视频排名优化
  • 网站怎么做才不会被封新手怎么学电商运营
  • 一级a做爰片免费观网站看无码营销qq
  • 宿迁做网站哪家公司好淘宝seo优化是什么
  • 日本 色彩网站关键词热度查询
  • 完整的网站建设沈阳今天刚刚发生的新闻
  • 代做视频的网站好怎么样推广自己的网址
  • 抚州网站制作百度助手应用商店下载安装
  • 浙江省城乡和住房建设厅网站崇左网站建设
  • 网站建设 合优网络最新今日头条
  • 简约型网站设计seo关键词排名优化联系方式
  • 微网站 建设重庆seo俱乐部联系方式
  • 给网站做导流网络营销师证书需要多少钱
  • seo月薪泰安seo培训
  • 南京平台网站建设重庆网站优化
  • 网站上做时时彩代理赚钱吗谷歌google官方网站
  • 做网站的公司不会设计正规代运营公司排名
  • 关于建筑建设的网站百度平台订单查询
  • 北京传媒公司文明seo
  • 宁波市建设集团股份有限公司seo诊断工具
  • 漯河做网站推广太极seo
  • 中国大良网站建设廊坊关键词排名首页
  • 新疆建设兵团检察院网站网站推广多少钱
  • 旅行社网站制作精品成品网站1688
  • 网站制作里的更多怎么做郑州官网网站优化公司