@pmun/utils / parseJsonStr
Function: parseJsonStr()
ts
function parseJsonStr<T>(str?, defaultValue?): string | Record<string, any> | T;
解析JSON字符串,处理异常情况
支持解析各种有效的JSON格式,包括对象、数组、字符串、数字、布尔值等。 如果解析失败,会在控制台输出错误信息并返回原始字符串。
Type Parameters
T
T
= any
Parameters
str?
待解析的字符串
null
| string
defaultValue?
T
解析失败时的默认返回值,默认为原始字符串
Returns
string
| Record
<string
, any
> | T
解析后的对象、数组或其他JSON值,解析失败时返回默认值
Example
ts
// 解析对象
parseJsonStr('{"name": "Tom", "age": 25}') // { name: 'Tom', age: 25 }
// 解析数组
parseJsonStr('[1, 2, 3]') // [1, 2, 3]
// 解析基础类型
parseJsonStr('"hello"') // 'hello'
parseJsonStr('123') // 123
parseJsonStr('true') // true
// 处理无效JSON
parseJsonStr('{invalid json}') // '{invalid json}'(返回原字符串)
// 处理空值
parseJsonStr('') // {}
parseJsonStr(null) // {}
parseJsonStr(undefined) // {}
// 自定义默认值
parseJsonStr('invalid', null) // null
// 非JSON格式的字符串
parseJsonStr('hello world') // 'hello world'