2016-04-12 12 views
8

में जावास्क्रिप्ट में काम नहीं कर रहा है मैं संशोधित जावा स्क्रिप्ट मान चरण का उपयोग कर स्ट्रिंग से सरणी बनाने की कोशिश कर रहा हूं। स्ट्रिंग को पार्स करने और JSON ऑब्जेक्ट बनाने के लिए मेरा कोड यहां दिया गया है।JSON.parse() 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); 
} 
JSON.parse में

यहाँ() फेंक देता है एक त्रुटि सिंटैक्स त्रुटि: शाब्दिक शृंखला में लापता अल्पविराम।

क्या कोई मुझे कृपया जेसन ऑब्जेक्ट में सरणी और स्टोर को पार्स करने में मदद कर सकता है।

अग्रिम धन्यवाद!

+0

का पता लगाने के लिए पाया है, मैंने क्रोम देव कंसोल में अपना कोड निष्पादित किया है और यह ठीक काम करता है। इसके अलावा जावास्क्रिप्ट में आप इस तरह के खंड को कॉम्पैक्ट कर सकते हैं: यदि (कीवर्ड) {...} – fikkatra

+1

आप 'eval' फ़ंक्शन का भी उपयोग कर सकते हैं, लेकिन सावधान रहें! – savelichalex

+0

@ अरुणराज कृपया दिखाएं कि आप इस कोड के बाद क्या प्राप्त करना चाहते हैं, मुझे लगता है कि आपके पास – savelichalex

उत्तर

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

सुनिश्चित करें कि आप एक (आदरणीय) आधुनिक (अपडेटेड) वेब ब्राउज़र का उपयोग कर रहे हैं, जैसे: क्रोम, फ़ायरफ़ॉक्स, ओपेरा, सफारी, आदि – argon

+0

यह नियमित जावास्क्रिप्ट नहीं है, और पेंटाहो ब्राउज़र नहीं है। इसके rhino जेएस इंजन अलग है – jipipayo

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

देखो और तर्क

में त्रुटि का पता लगाने

यह एकमात्र तरीका है जिसे मैंने जावास्क्रिप्ट चरण

संबंधित मुद्दे