JSON类组件
模块 | 介绍 |
---|
JSONValue | 提供eftool中的JSON相关对象的类型定义 |
JSONObject | 提供类Java的JSON对象的系列方法以及相互转换 |
JSONArray | 提供类Java的JSON数组的系列方法以及相互转换 |
JSONArrayList | 提供类Java的JSON数组的系列方法以及相互转换 |
JSONUtil | 提供JSON转换一系列判断方法,废弃一部分方法 |
JSON组件使用API
1.JSONValue的解释
2.JSONObject的方法
- parse json字符串转换为JSONObject对象
| let userList = new Array<User>(); |
| userList.push(new User('2345', '测试用户1')); |
| userList.push(new User('7844', '测试用户2')); |
| let person = new Person('测试', 12, true, new Date(), new User("uuid", "打撒吃的是草动次打次"), userList); |
| let j = JSONObject.toJSONString(person); |
| let f = JSONObject.parse(j); |
复制
- parseObject json字符串转换为实体对象
| let userList = new Array<User>(); |
| userList.push(new User('2345', '测试用户1')); |
| userList.push(new User('7844', '测试用户2')); |
| let person = new Person('测试', 12, true, new Date(), new User("uuid", "打撒吃的是草动次打次"), userList); |
| let j = JSONObject.toJSONString(person); |
| let o = JSONObject.parseObject<Person>(j); |
复制
- toJSONString Object对象换为json字符串
| let userList = new Array<User>(); |
| userList.push(new User('2345', '测试用户1')); |
| userList.push(new User('7844', '测试用户2')); |
| let person = new Person('测试', 12, true, new Date(), new User("uuid", "打撒吃的是草动次打次"), userList); |
| let j = JSONObject.toJSONString(person); |
复制
| let userList = new Array<User>(); |
| userList.push(new User('2345', '测试用户1')); |
| userList.push(new User('7844', '测试用户2')); |
| let person = new Person('测试', 12, true, new Date(), new User("uuid", "打撒吃的是草动次打次"), userList); |
| let j = JSONObject.from<Person>(person); |
复制
| let jsonObj = new JSONObject(); |
| jsonObj.set("id", "100010"); |
| jsonObj.set("age", 27); |
| jsonObj.set("sex", true); |
| jsonObj.set("birth", new Date()); |
| let user = new JSONObject(); |
| user.set("uid", "121212"); |
| user.set("uName", "测试\\\"套对象"); |
| jsonObj.set("user", user); |
| jsonObj.set("test", null); |
| jsonObj.set("person", new User('实体id', '实体name')); |
| jsonObj.set("name", "test字符串"); |
| let st = jsonObj.toString(); |
复制
点击领取→纯血鸿蒙Next全套最新学习资料(安全链接,放心点击)希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取~~
3.JSONArray的方法
- parse json字符串转换为JSONArray对象
| let userList = new Array<User>(); |
| userList.push(new User('2345', '测试用户1')); |
| userList.push(new User('7844', '测试用户2')); |
| userList.push(new User('1314', '测试用户3')); |
| userList.push(new User('5210', '测试用户4')); |
| let s = JSONArray.toJSONString(userList); |
| let jsArr = JSONArray.parse(s); |
复制
- toJSONString 集合对象转换为json字符串
| let userList = new Array<User>(); |
| userList.push(new User('2345', '测试用户1')); |
| userList.push(new User('7844', '测试用户2')); |
| userList.push(new User('1314', '测试用户3')); |
| userList.push(new User('5210', '测试用户4')); |
| let s = JSONArray.toJSONString(userList); |
复制
| let userList = new Array<User>(); |
| userList.push(new User('2345', '测试用户1')); |
| userList.push(new User('7844', '测试用户2')); |
| userList.push(new User('1314', '测试用户3')); |
| userList.push(new User('5210', '测试用户4')); |
| let jarr = JSONArray.from(userList); |
复制
| let arr = new JSONArray(); |
| arr.push(1); |
| arr.push("cccc"); |
| arr.push("123"); |
| arr.push("aaaaa\\\"34343434"); |
| arr.push("2223\"dasdass"); |
| arr.push(new Date()); |
| arr.push(true); |
| arr.push(null); |
| arr.push(new User("10010", "实体数据")); |
| let str = arr.toString(); |
复制
- parseArray json字符串转换为实体对象集合(1.1.12+)
| class TestDDD { |
| threeMonthRate?: string; |
| moduleName?: string; |
| productName?: string; |
| marketPatter?: string; |
| labelListJson?: site; |
| } |
| class site { |
| site1?: site1; |
| } |
| class site1 { |
| labelType?: string; |
| labelValue?: string; |
| labelName?: string; |
| labelLocation?: string; |
| } |
| let str1 = '[{"threeMonthRate":null,"moduleName":"loan","productName":"网E贷","marketPatter":"随借随还,最高20万,利率低至8折起","labelListJson":{"site1":{"labelType":0,"labelValue":"网E贷","labelName":"产品名称:123","labelLocation":true}}},{"threeMonthRate":null,"moduleName":"loan","productName":"烟草贷","marketPatter":"无需抵押,无需担保,当天放款,随借随还","labelListJson":{"site1":{"labelType":12,"labelValue":"烟草贷","labelName":"产品名称","labelLocation":false}}}]'; |
| let array = JSONArray.parseArray<TestDDD>(str1); |
| array.forEach(item => { |
| this.msg += item.labelListJson?.site1?.labelName + " "; |
| }) |
复制
4.JSONArrayList的方法
- parse json字符串转换为JSONArrayList对象
| let userList = new ArrayList<User>(); |
| userList.add(new User('2345', '测试用户1')); |
| userList.add(new User('7844', '测试用户2')); |
| userList.add(new User('1314', '测试用户3')); |
| userList.add(new User('5210', '测试用户4')); |
| let s = JSONArrayList.toJSONString(userList); |
| let jsArr = JSONArrayList.parse(s); |
复制
- toJSONString 集合对象转换为json字符串
| let userList = new ArrayList<User>(); |
| userList.add(new User('2345', '测试用户1')); |
| userList.add(new User('7844', '测试用户2')); |
| userList.add(new User('1314', '测试用户3')); |
| userList.add(new User('5210', '测试用户4')); |
| let s = JSONArrayList.toJSONString(userList); |
复制
- from 实体集合转换为JSONArrayList对象
| let userList = new ArrayList<User>(); |
| userList.add(new User('2345', '测试用户1')); |
| userList.add(new User('7844', '测试用户2')); |
| userList.add(new User('1314', '测试用户3')); |
| userList.add(new User('5210', '测试用户4')); |
| let jarr = JSONArrayList.from(userList); |
复制
| let arr = new JSONArrayList(); |
| arr.add(1); |
| arr.add("cccc"); |
| arr.add("123"); |
| arr.add("aaaaa\\\"34343434"); |
| arr.add("2223\"dasdass"); |
| arr.add(new Date()); |
| arr.add(true); |
| arr.add(null); |
| arr.add(new User("10010", "实体数据")); |
| let str = arr.toString(); |
复制
- parseArrayList json字符串转换为实体对象集合(1.1.12+)
| class TestDDD { |
| threeMonthRate?: string; |
| moduleName?: string; |
| productName?: string; |
| marketPatter?: string; |
| labelListJson?: site; |
| } |
| class site { |
| site1?: site1; |
| } |
| class site1 { |
| labelType?: string; |
| labelValue?: string; |
| labelName?: string; |
| labelLocation?: string; |
| } |
| let str1 = '[{"threeMonthRate":null,"moduleName":"loan","productName":"网E贷","marketPatter":"随借随还,最高20万,利率低至8折起","labelListJson":{"site1":{"labelType":0,"labelValue":"网E贷","labelName":"产品名称:123","labelLocation":true}}},{"threeMonthRate":null,"moduleName":"loan","productName":"烟草贷","marketPatter":"无需抵押,无需担保,当天放款,随借随还","labelListJson":{"site1":{"labelType":12,"labelValue":"烟草贷","labelName":"产品名称","labelLocation":false}}}]'; |
| let array = JSONArrayList.parseArrayList<TestDDD>(str1); |
| array.forEach(item => { |
| this.msg += item.labelListJson?.site1?.labelName + " "; |
| }) |
复制
5.JSONUtil的方法
toJSONString 将传入的json对象格式化成json字符串,第二个参数为如果数据有日期类型时是否传入转换格式,不传默认为yyyy-MM-dd
| let userList = new Array<User>(); |
| userList.push(new User('2345', '测试用户1')); |
| userList.push(new User('7844', '测试用户2')); |
| let person = new Person('测试', 12, true, new Date(), new User("uuid", "打撒吃的是草动次打次"), userList); |
| |
| let str1 = JSONUtil.toJSONString(person,DateConst.YMD_HLINE_HMS); |
复制
parse 将传入的json字符串格式化为Object对象
| let person = new Person('测试', 12, new Date(), new User("101291021", "打撒吃的是草动次打次")); |
| let str = JSONUtil.toJSONString(person); |
| console.log(str) |
| JSONUtil.parse(str); |
复制
parseObject 将传入的json字符串格式化为指定的实体对象,如果实体中有日期类型可以传入格式化format,不传默认为yyyy-MM-dd
| let userList = new Array<User>(); |
| userList.push(new User('2345', '测试用户1')); |
| userList.push(new User('7844', '测试用户2')); |
| let person = new Person('测试', 12, true, new Date(), new User("uuid", "打撒吃的是草动次打次"), userList); |
| |
| let str1 = JSONUtil.toJSONString(person,DateConst.YMD_HLINE_HMS); |
| let p = JSONUtil.parseObject<Person>(str1,DateConst.YMD_HLINE_HMS); |
复制
parseArray 将传入的json字符串格式化为指定的实体对象集合,如果实体中有日期类型可以传入格式化format,不传默认为yyyy-MM-dd
| let listStr = JSONUtil.toJSONString(userList); |
| let uList = JSONUtil.parseArray<User>(listStr); |
| uList.forEach(item => { |
| Logger.error(item.id, item.name); |
| }) |
复制
-
parseStringArray 将字符串格式Array转换成Array数组
-
isBoolean 判断传入的字符串是否是布尔类型
-
isJSONStringArray 判断是否是字符串格式Array
-
isJSONString 判断是否是字符串格式json
-
isNumber 是否是字符串