2016-04-12 23 views
8

Modifiye Java Script Değeri adımını kullanarak bir diziden bir dizi oluşturmaya çalışıyorum. İşte bir dizeyi ayrıştırmak ve bir JSON nesnesi oluşturmak için kodum. JSON.parse Burayı JSON.parse() javascript içinde çalışmadı in the pentaho

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

(), bir hata SyntaxError atar: Eksik virgül Düz dizi.

Dizini ayrıştırmama ve json nesnesinde depolamama yardımcı olan herhangi biri olabilir.

Şimdiden teşekkürler!

+0

Kodunuzu Chrome dev konsolunda çalıştırdım ve iyi çalışıyor. Ayrıca JavaScript'de eğer aşağıdaki gibi bir cümle kurabilirsiniz: eğer (anahtar kelimeler) {...} – fikkatra

+1

Ayrıca 'eval' işlevini de kullanabilirsiniz, fakat dikkatli olun! – savelichalex

+0

@Arunraj Lütfen bu koddan sonra ne almak istediğinizi gösterin, bence sizin için daha doğru bir çözüm var – savelichalex

cevap

1

konsol modunda bu bir

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

bu deneyin:

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

Aşağıdaki gibi bir (saygın) modern (güncellenmiş) web tarayıcısı kullandığınızdan emin olun: Chrome, Firefox, Opera, Safari, vb. – argon

+0

bu normal javascript değildir ve pentaho bir tarayıcı değildir. onun gergedan js motoru izole – jipipayo

0

Çalıştır su ısıtıcısı deneyin konsoluna

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

bak SpoonConsole.bat ve mantık

hatayı iz

Bu, yalnızca JavaScript adımının izini bulmamın bir yolu