uniapp 在uts文件中如何实现字符串转json操作?

在uniapp的uts文件中,如何将一个字符串转换成JSON对象?我试过用JSON.parse()但报错了,不知道是不是写法不对。有没有具体的代码示例可以参考?

2 回复

在uts中,使用JSON.parse()方法即可将字符串转为JSON对象。例如:

let jsonStr = '{"name": "张三", "age": 20}'
let jsonObj = JSON.parse(jsonStr)
console.log(jsonObj.name) // 输出:张三

注意确保字符串是合法的JSON格式。


在 UniApp 的 UTS 文件中,可以使用 JSON.parse() 方法将字符串转换为 JSON 对象。UTS 支持标准的 JavaScript/TypeScript API,因此操作与 Web 环境一致。

示例代码:

// 定义一个 JSON 字符串
let jsonString: string = '{"name": "张三", "age": 25, "city": "北京"}';

// 使用 JSON.parse() 转换字符串为 JSON 对象
try {
    let jsonObj = JSON.parse(jsonString);
    console.log(jsonObj.name); // 输出:张三
    console.log(jsonObj.age);  // 输出:25
} catch (error) {
    console.error("JSON 解析失败:", error);
}

注意事项:

  1. 异常处理:使用 try-catch 捕获可能的解析错误(如字符串格式无效)。
  2. 类型安全:UTS 是强类型语言,解析后的对象默认类型为 any。如需类型提示,可手动定义接口:
    interface User {
        name: string;
        age: number;
        city: string;
    }
    let user = JSON.parse(jsonString) as User;
    

其他场景:

  • 若需将 JSON 对象转回字符串,使用 JSON.stringify()
  • 在 Android 或 iOS 原生环境(如通过 UTS 插件调用)时,逻辑与此一致。
回到顶部