HarmonyOS 鸿蒙Next JSON.stringify 保持字段顺序
HarmonyOS 鸿蒙Next JSON.stringify 保持字段顺序
希望JSON.stringify之后保持顺序输出
{“longitude”:“xxxx”.“latitude”:“xxxx”}
更多关于HarmonyOS 鸿蒙Next JSON.stringify 保持字段顺序的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
楼主您好!我这边试了下,JSON.stringify之后就是按照class的字段顺序输出的,demo和打印信息如下,您可以参考下:
class ClockInReq {
longitude: string = ''
latitude: string = ''
luaaa: string = ''
}
Text('测试输出').onClick(() => {
console.log('输出' + JSON.stringify(new ClockInReq()))
})
输出{"longitude":"","latitude":"","luaaa":""}
更多关于HarmonyOS 鸿蒙Next JSON.stringify 保持字段顺序的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next环境中,JSON.stringify 保持字段顺序的问题可以通过以下方式处理:
HarmonyOS鸿蒙Next系统基于JavaScriptCore引擎,原生JSON.stringify方法不保证对象的属性顺序。然而,可以通过一些技巧来确保JSON字符串化时字段顺序的一致性。
-
数组中转对象:将对象属性转换为数组,再遍历数组按顺序构建JSON字符串。这种方法可以确保字段顺序与数组中的顺序一致。
function stringifyWithOrder(obj, keys) { return JSON.stringify(keys.reduce((acc, key) => { acc[key] = obj[key]; return acc; }, {})); } const obj = {b: 2, a: 1, c: 3}; const keys = ['a', 'b', 'c']; const result = stringifyWithOrder(obj, keys); console.log(result); // 输出:{"a":1,"b":2,"c":3}
-
使用第三方库:使用如
flatted
(一个flatted版本的JSON.stringify,保留对象顺序)等第三方库来处理。import { stringify } from 'flatted'; const obj = {b: 2, a: 1, c: 3}; const result = stringify(obj); console.log(result); // 保留对象顺序的字符串
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html