2010-08-30 18 views
8

मुझे उम्मीद है कि कोई मेरी मदद कर सकता है, पोस्ट में सरणी मान खाली है।Jquery - JSON.stringify, सरणी खाली है

$(function start() { 

    c_all = new Array('#div { font-color:#ff0000; border:1px solid #00ff00; }', '#div_2 { font-color:#ff0000; }', '.line2 { font-color:#00ffff; }'); 

    css(c_all); 

}); 


function css(x) { 

    values = new Array(); 

    for (i = 0; i < x.length; i++) { 
     c0_selector = '' + x[i].match(/^.*{/) + ''; 
     c0_selector = c0_selector.replace(/\s*/g, ''); 
     c0_selector = c0_selector.replace(/{/, ''); 

     x[i] = x[i].replace(/^.*{/, ''); 
     x[i] = x[i].replace(/}/, ''); 

     c0_arr = x[i].split(';'); 

     values['' + c0_selector + ''] = new Array(); 

     $('#log').append(''+c0_selector+'<br />'); 

     for (i2 = 0; i2 < c0_arr.length; i2++) 
     { 
      values[''+c0_selector+''][i2] = c0_arr[i2].split(':'); 
      $('#log').append(''+c0_arr[i2]+'<br />'); 
     } 

    } 

    $.ajax({ 
      type: 'post', 
      data: JSON.stringify(values), 
      contentType: 'application/json', 
      dataType: 'json' 
    }); 


} 

काम कर उदाहरण ->http://www.jsfiddle.net/V9Euk/448/

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

उत्तर

12

values ऑब्जेक्ट बनाने का प्रयास करें, (जैसे कि नामित कुंजी के लिए जावास्क्रिप्ट में होना चाहिए)।

var values = {}; 

इसके अलावा, यह एक वास्तव में अच्छा विचार var खोजशब्द के साथ अपने चर घोषित करने के लिए है, तो आप वैश्विक चर नहीं बना रहे।

इसके अलावा, '' + c0_selector + '' के लिए कोई आवश्यकता नहीं है क्योंकि आपके पास पहले से स्ट्रिंग है। बस c0_selector करें।

उत्पादित उत्पाद पॉप्युलेट ऑब्जेक्ट लॉग करता है। http://www.jsfiddle.net/V9Euk/450/

9

यह सीधे ईसीएमएस्क्रिप्ट स्पेक से है।

अमूर्त ऑपरेशन जेए (मान) एक सरणी क्रमबद्ध करता है। स्ट्रिंग, इंडेंट, गैप, और स्पेस की स्ट्रिंग विधि का आविष्कारतक पहुंच है। सरणी का प्रतिनिधित्व केवल शून्य और array.length - 1 समावेशी के बीच तत्व शामिल है। नामांकित गुण स्ट्रिंगफ़िकेशन से बाहर किए गए हैं। एक सरणी खुली बाएं ब्रैकेट, कोमा द्वारा अलग किए गए तत्वों के रूप में स्ट्रिंग किया गया है, और दायां ब्रैकेट बंद करना है।

असल में किसी भी नामित गुण परिणाम से बाहर रखा गया है।

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