json - 从 json 对象值中删除引号

标签 json node.js wordpress woocommerce woocommerce-rest-api

我在 Node js 中使用 Woocommerce API 将产品数据从 mssql server 数据库导入到我的 woocommerce 数据库。

我通过 ms sql 查询得到的记录集包含一个图像字段

在 Woocommerce API 中,要导入图像,我需要这种类型的 json 对象

var data = {
  product: {
    title: 'Premium Quality',
    type: 'simple',
    regular_price: '21.99',
    description: 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.',
    short_description: 'Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.',
    categories: [
      9,
      14
    ],
    **images: [
      {
        src: 'http://example.com/wp-content/uploads/2015/01/premium-quality-front.jpg',
        position: 0
      },**
      {
        src: 'http://example.com/wp-content/uploads/2015/01/premium-quality-back.jpg',
        position: 1
      }
    ]
  }
};

休息很好,但我对图像有疑问,因为我在引号中获取图像 json images: '[{...}]' 因为数据类型在数据库表中是 varchar 。

由于此引号,图像不会通过 Woocommerce Rest API 插入数据库。

我想专门删除图像中的引用。或者任何其他建议。

我是 Node.js 新手。有谁可以帮忙吗?

最佳答案

据我了解,您的问题是您在指定图像位置的字符串的开头和结尾处获得了额外的 "" 。 您只需在 js 中删除字符串变量的第一个和最后一个字符即可。

解决方案:

var x = String(/'[{...}]'/);
str = x.substring(1, x.length - 1);
var image = str.substring(1, str.length - 1);

演示:

function myFunction() {
  var x = String(/'[{...}]'/);
  str = x.substring(1, x.length - 1);
  var res = str.substring(1, str.length - 1);
  document.getElementById("demo").innerHTML = res;
}
<button onclick="myFunction()">Try it</button>

<p id="demo"></p>

或者

演示:

从字符串的开头和结尾删除“”:

var someStr = String('[{...}]');
alert(someStr)
alert(someStr.replace(/^"(.*)"$/, '$1'));

var someStr = String('"[{...}]"');
alert(someStr)
alert(someStr.replace(/^"(.*)"$/, '$1'));

或者

var test = "\"House\"";
console.log(test);
console.log(test.replace(/\"/g, "")); 

引用:remove-double-quotes-from-json-return-dataCan you create a JavaScript string without using ' or " quotes?

关于json - 从 json 对象值中删除引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36832545/

相关文章:

javascript - Ajax 请求/响应 : how to make them lightning fast?

Objective-C:如何将 bool 值放入 JSON 字典中?

java - ModelAndView 的 .getJSON 404 错误

javascript - 访问控制允许来源错误..(使用 cordova)

html - 如何使用 <img> 标签而不是 CSS 设置图像背景?

sql-server - OPENJSON 函数中的日期时间转换失败

javascript - 如何检查包含另一个对象数组的对象数组是否具有属性

javascript - 如何在我的 javascript 应用程序中使用 Gulp 和 Browserify?

wordpress - WordPress 在哪里存储 HTML 页面?

php - 如何将我的外部 css 文件包含到我的插件中