首页 > 解决方案 > 如何使用正则表达式将字符串转换为 Json?

问题描述

我一直在试图弄清楚如何使用正则表达式将字符串转换为 json。

我试图抓取的是值items并将其转换为 json:

{
  'submitId': 'commodity-show-submit',
  'params': [
    [
      'color',
      'COLOUR'
    ],
    [
      'items',
      'Select items'
    ]
  ],
  'items': {
    "48924": {
      "params": [
        "black",
        "US 10"
      ]
    },
    "48925": {
      "params": [
        "black",
        "US 10.5"
      ]
    },
    "48926": {
      "params": [
        "black",
        "US 11"
      ]
    }
  },
  'pids': [
    48924,

  ],
  'items': [
    'Banana',
  ],
  'cartId': '.common-cart',
  'imgId': '',
  'onInvalid': function(){
    message("Please select a variant: %s.")

而且我对正则表达式的了解不多,但我试图挑战自己,我认为我完全不在这个区域。它确实只抓住了他们的第一个物品。

r"'items': (.+?)}"

基本上我要做的就是将此部分转换为 json

'items': {
    "48924": {
      "params": [
        "black",
        "US 10"
      ]
    },
    "48925": {
      "params": [
        "black",
        "US 10.5"
      ]
    },
    "48926": {
      "params": [
        "black",
        "US 11"
      ]
    }
  }

能够做到这一点的最好方法是什么?

标签: pythonjsonregex

解决方案


限制使用 Regex 清理字符串,然后将清理后的字符串放入json. 请记住,JSON 规范使用双引号"


推荐阅读