JSON.parse()无法在pentaho中使用javascript

时间:2016-04-12 06:38:19

标签: javascript json pentaho kettle

我正在尝试使用Modified Java Script Value步骤从字符串形成数组。这是我解析字符串和形成JSON对象的代码。

var info = {};
var keywords = 'Adjust course (C-6),Identify underlying factors (C-4),Isolate teacher actions (C-3_)';
if(keywords != null && keywords != ''){
keywords = keywords.replace(/,/g,'","');
keywords = '["'+keywords+'"]';
info.keywords = JSON.parse(keywords);
}

这里在JSON.parse()中抛出一个错误SyntaxError:在数组文字中缺少逗号。

任何人都可以帮我解析数组并存储在json对象中。

提前致谢!

3 个答案:

答案 0 :(得分:1)

试试这个:

function kwInfo(text)
{
    return JSON.parse('["' + (text || '').split(',').join('","') + '"]');
}

var text = 'Adjust course (C-6),Identify underlying factors (C-4),Isolate teacher actions (C-3_)';
var info = {keywords:kwInfo(text)};

console.log(info);

答案 1 :(得分:1)

试试这个

if(keywords){
  keywords = keywords.split(',');
  info.keywords = keywords;
}

答案 2 :(得分:0)

在控制台模式下运行水壶SpoonConsole.bat

var info = {};
var keywords = 'Adjust course (C-6),Identify underlying factors(C-4),Isolate 
teacher actions (C-3_)';

java.lang.System.out.println("Original : " + keywords);

if(keywords != null && keywords != ''){
   keywords = keywords.replace(/,/g,'","');
   java.lang.System.out.println("Regexp applied : " + keywords);
   keywords = '["'+keywords+'"]';
   java.lang.System.out.println(keywords);
   info.keywords = JSON.parse(keywords);
}

查看控制台并跟踪逻辑中的错误

这是我发现跟踪JavaScript步骤的唯一方法