‘liusuyi’
2023-08-09 161b9318e345c8a0c9cdc133b33a1c759495f323
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'use strict';
 
function parseString(str) {
  try {
    if (str[0] === '"') {
      return JSON.parse(str);
    }
 
    if (str[0] === "'" && str.substr(str.length - 1) === "'") {
      return parseString(
        str
          .replace(/\\.|"/g, (x) => (x === '"' ? '\\"' : x))
          .replace(/^'|'$/g, '"')
      );
    }
 
    return JSON.parse('"' + str + '"');
  } catch (e) {
    return str;
  }
}
 
module.exports = parseString;