从JSON字符串中提取值

Mar*_*lin 0 javascript json

从这里获得干净阵列的最佳方法是什么:

[{f=[{v=2521998}, {v=0}, {v=99326}]}]
Run Code Online (Sandbox Code Playgroud)

这样的事情?

[2521998,0,99326]
Run Code Online (Sandbox Code Playgroud)

谢谢!

Tus*_*har 5

正如你没有提到的那样[{f=[{v=2521998}, {v=0}, {v=99326}]}],string或者array,我已经包括了答案.

对于Array/Object/JSON

  1. json无效(请参阅下面的正确格式)
  2. regex 可以在你的情况下使用.

您可以将其转换objectstring使用JSON.stringify,然后使用regex从中提取所需的值.

var myArr = [{
  f: [{
    v: 2521998
  }, {
    v: 0
  }, {
    v: 99326
  }]
}];

var str = JSON.stringify(myArr);

var resultArr = str.match(/\d+/g);

alert(resultArr);
Run Code Online (Sandbox Code Playgroud)

如果[{f=[{v=2521998}, {v=0}, {v=99326}]}]stringobject/array,你不需要JSON.stringify.

var str = '[{f=[{v=2521998}, {v=0}, {v=99326}]}]';
var resultArr = str.match(/\d+/g);

alert(resultArr);
Run Code Online (Sandbox Code Playgroud)

REGEX解释

  1. /:分隔符 regex
  2. \d:匹配任何数字
  3. +:匹配前面一个或多个类
  4. g:全球比赛.

  • @Grundy,@ blex不用担心.我已经添加了两个答案 (2认同)