2016-04-12 15 views
8

Modified Java Script Valueステップを使用して文字列から配列を作成しようとしています。ここでは、文字列を解析してJSONオブジェクトを作成するコードを示します。 JSON.parseここ JSON.parse()がpentahoのjavascriptで機能しない

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); 
} 

()がエラーにSyntaxErrorをスロー:欠落コンマ配列リテラルで。

誰でも私がjsonオブジェクトに配列とパースを解析するのを助けてくれますか?

ありがとうございます!

+0

私はChromeの開発コンソールでコードを実行しても問題ありません。 JavaScriptでも、if節を次のようにコンパクトにすることができます:if(keywords){...} – fikkatra

+1

'eval'関数を使うこともできますが、注意してください! – savelichalex

+0

@Arunrajこのコードの後に​​何をしたいのかを示してください。あなたにはより適切な解決策があると思います。 – savelichalex

答えて

1

は、コンソール・モードで、この1つの

if(keywords){ 
    keywords = keywords.split(','); 
    info.keywords = keywords; 
} 
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); 
+0

Chrome、Firefox、Opera、Safariなどの最新の(更新された)近代的な(更新された)ウェブブラウザを使用していることを確認してください。 – argon

+0

これは定期的なJavaScriptではなく、pentahoはブラウザではありません。そのライノjsエンジンは孤立した – jipipayo

0

実行ケトルをお試しくださいは

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); 
} 

がコンソールに見て、ロジック

にエラーをトレースSpoonConsole.bat

これはJavaScriptのステップをトレースするための唯一の方法です

関連する問題