如何在JSON前面解析没有双引号的字符串对象

时间:2018-11-16 15:26:50

标签: json angular typescript

我的角度应用中有一个数组,例如:

searchTerm : any[]

我有一个值为{'state':'tn'}的文本框,并希望将其推送到searchTerm数组。目前,我将此项目添加到服务中,然后将其排列为:

  private onItemAdded(event): void {
    const filter = JSON.parse('"' + event['value'] + '"');
    this.dataService.addFilter(filter);
  }

但是它存储为"{'state':'tn'}"

如何在前面不加双引号的情况下解析它?

console.log('ADDED FILTER', event['value']);

此处的值显示为{'state':'value'}

但是当按如下所示分配给变量时,它会添加双引号

let filter = event['value'];

谢谢

1 个答案:

答案 0 :(得分:0)

为什么要使用parse ?,它是用于从JSON转换为对象,而使用stringify它将把您的对象解析为JSON(字符串)

const obj = "{'state':'tn'}";
let filter = JSON.stringify(obj);
filter = filter.slice(1, filter.length - 1);
console.log(filter);