将字符串解析为 json,字符串混合
Parse string to json with string mixed
我想将字符串变量解析为 json 对象,但它并不总是 json。如果它不是 json,我希望它按原样返回。我尝试了 JSON.parse,但是当 var 是纯字符串时它会发布错误,最后我得到了 JSON.parse(JSON.stringify(var)),我想知道是否有办法判断字符串是否可以解析为 json,所以我可以保存"stingify"阶段。
没有比实际解析并知道它是否有效更好的方法了。您可以使用 try
/catch
块来设置变量,然后将其返回。
function toJSON(str) {
var rtn;
try { rtn = JSON.parse(str); } // try to set it
catch (e) { rtn = str; } // if error set it to str
return rtn; // finally return
}
您可以使用
try/catch。 如果在尝试解析时遇到异常,则表示它不是有效的 JSON
var victim=....;
var output;
try {
output = JSON.parse(victim);
} catch (e) {
output = victim;
}
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ng打开空字符串
- 正则表达式在字符串中找到base64
- 将混合字符串和int参数传递给javascript
- 已知字符串的Regex+混合varchar+已知字符串
- 将字符串解析为 json,字符串混合
- 如何在 Javascript 中从混合的 HTML 字符串/DOM 元素转换为 DOM 元素
- 将长混合字符串变量从 javascript 传递到 GET url 变量的 url 友好方法是什么?
- 将字符串与数组变量混合在一起,为javascript中的元素分配id
- 如何序列化包含混合HTML&XML转换为字符串
- 字符串替换混合文本和HTML(客户端或服务器端)
- 用JavaScript解码字符串中的混合ASCII代码
- 对混合字符串和数值的列字段进行排序
- 带有混合变量的字面值字符串
- 根据值(整数,字符串)或(整数,浮点数)的混合返回数组的索引
- jQuery:在JSON中混合字符串和Javascript对象列表
- Lodash变换数组混合对象和字符串
- 如何在javascript中将混合的ascii和unicode转换为字符串