从JavaScript中的字符串中提取JSON可以使用以下几种方法:
- 使用JSON.parse()方法:JSON.parse()方法可以将一个符合JSON格式的字符串转换为JavaScript对象。通过将字符串作为参数传递给JSON.parse()方法,可以将其转换为对应的JavaScript对象。例如:
var jsonString = '{"name":"John", "age":30, "city":"New York"}';
var jsonObj = JSON.parse(jsonString); console.log(jsonObj);
输出结果为:
{ name: 'John', age: 30, city: 'New York' }
- 使用正则表达式:如果字符串中包含多个JSON对象,可以使用正则表达式来提取每个JSON对象。例如,假设字符串中包含多个JSON对象,可以使用以下代码提取每个JSON对象:
var jsonString = '{"name":"John", "age":30, "city":"New York"} Some other text {"name":"Jane", "age":25, "city":"London"}';
var regex = /{[^{}]+}/g;
var jsonObjects = jsonString.match(regex);
console.log(jsonObjects);
- 使用第三方库:除了上述方法,还可以使用一些第三方库来提取JSON。例如,使用lodash库的_.attempt()方法可以安全地解析JSON字符串,即使字符串不符合JSON格式也不会抛出错误。以下是使用lodash库的示例代码:
var _ = require('lodash');
var jsonString = '{"name":"John", "age":30, "city":"New York"}';
var jsonObj = _.attempt(JSON.parse.bind(null, jsonString));
console.log(jsonObj);