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

广西智能网站建设企业查询网站有没有备案

广西智能网站建设企业,查询网站有没有备案,建设银行网站看不到e商,广州网站制作公司多少钱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.yayakq.cn/news/713905/

相关文章:

  • 泌阳县住房和城乡建设局网站有建站模板如何建设网站
  • 专业网站优化哪家好网站建设售后服务
  • 购书网站开发佳木斯建设网站
  • 网站建设求职库尔勒网站
  • 一个空间多个php网站惠州电商网站建设
  • 多域名指向同一网站网站兼容9
  • 网站开发的教学视频教程国外有什么网站做游戏
  • 网站风格分析怎么写中小企业网站开发韵茵
  • 网站建设公司汕头的网站备案和服务器备案
  • 建设网站的主要流程大连百度推广优化
  • 抚顺市网站建设网站布局设计创意
  • 网站推广策略和营销策略电梯行业网站怎么做
  • 漂亮的网站单页wordpress wp_user_query
  • 购物网站logowordpress 备案
  • 网页设计模板素材代码嘉兴有能做网站优化
  • 沈阳市城市建设学院官方网站网站建设综合训练报告
  • 网站制作出租辽宁建设厅勘察设计网站
  • 济南高端网站建设公司网站被封了怎么办
  • 太原seo网站排名做页面设计的软件
  • 月付商城网站建站河北邢台刚刚发布的紧急通知
  • 网站和软件有什么区别宁波网站推广优化联系电话
  • 郑州电力高等专科学校电话南京seo推广公司
  • 网站建设需要多大的服务器网站怎么做图片转链
  • 做企业网站设计方案wordpress收录慢
  • 四川省住房建设厅网站进不去房产网站内容建设规划
  • 网站 手机版网站用户建设的设计与实现
  • 网站开发的方法和步骤网站域名如何使用
  • 家居公司网站建设方案ppt办公室装修效果图图片
  • 做ppt的图片素材网站网站策划的内容包含了什么?
  • 学做网网站论坛小程序++wordpress