将 JSON 对象中的单引号替换为双引号

3

我的JSON响应值是单引号,但我想要双引号。我已经尝试了JSON.stringify()JSON.parse(),它们都不起作用。

响应:

[
  {
    title: 'Car',
    price: 2323,
  }
]

预计回应:

[
  {
    title: "Car",
    price: 2323,

  }
]

基本上,我想在Shopify GraphQL查询中使用该响应。

mutation {

    productCreate(input: {
      id:"gid://shopify/Product/4725894742116"
      title: "This is a car",
        variants:[{
        title:"car",
        price: 12
        }]
    }) {
      product {
        id
      }
    }
  }

1
为什么需要双引号? - Richard
1
@Richard 我想在 GraphQL 查询中使用,该查询仅接受带有双引号的值。 - Taha Farooqui
2
这不是有效的 JSON,如果可能的话应该在上游进行修复。JSON 要求在键和字符串值周围使用双引号。你从哪里获取它? - ray
3个回答

2
我认为使用 JSON.stringify 没有任何问题,你可以直接获取字符串并在查询中使用它,或者如果你需要一个 JavaScript 对象,你可以解析它。以下是相关链接: JSON.Stringify JSON.parse 在 GraphQl 中传递参数

const unwantedResponse = [{
  title: 'Car',
  price: 2323,
}]

const wantedResponse = JSON.stringify(unwantedResponse);
const parsedResponse = JSON.parse(wantedResponse)

console.log(wantedResponse);
console.log(parsedResponse);


1
您可以使用 JSON.stringify(将JS对象转换为JSON字符串),然后使用 JSON.parse(将JSON字符串解析为JS对象),例如:

let x = [{
  title: 'Car',
  price: 2323,
}];
x = JSON.parse(JSON.stringify(x));
console.log(x);


1
您可以使用JSON.parse()方法解析JSON字符串,而JSON.stringify()方法将JavaScript对象或值转换为JSON字符串。
let obj =[
  {
    title: 'Car',
    price: 2323,
  }
];

let result = JSON.parse(JSON.stringify(obj));



console.log(result);

结果是

[
  {
    title: "Car",
    price: 2323,

  }
]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接