Skip to content

@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'