2010-08-30 34 views
8

tôi hy vọng ai đó có thể giúp tôi, giá trị mảng trống trong bài đăng.Jquery - JSON.stringify, mảng rỗng

$(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' 
    }); 


} 

dụ làm việc ->http://www.jsfiddle.net/V9Euk/448/

Cảm ơn trước! Peter

Trả lời

12

Hãy thử tạo values một đối tượng, (giống như trong javascript cho các khóa được đặt tên).

var values = {}; 

Ngoài ra, nó là một thực sự ý tưởng tốt để khai báo các biến của bạn với các từ khóa var, vì vậy bạn không tạo ra các biến toàn cục.

Ngoài ra, không cần '' + c0_selector + '' vì bạn đã có Chuỗi. Chỉ cần làm c0_selector.

Nhật ký sản phẩm đã hoàn thành đối tượng được điền. http://www.jsfiddle.net/V9Euk/450/

9

Điều này là trực tiếp từ thông số ECMAScript.

Hoạt động trừu tượng JA (giá trị) làm tuần tự hóa mảng. Nó có quyền truy cập vào ngăn xếp, thụt lề, khoảng cách và không gian của yêu cầu phương thức xâu chuỗi . Biểu diễn các mảng chỉ bao gồm các phần tử giữa không và mảng.length - 1 bao hàm. Thuộc tính được đặt tên sẽ bị loại trừ khỏi chuỗi . Một mảng là được xác định là khung mở bên trái, các phần tử được phân tách bằng dấu phẩy và một dấu ngoặc vuông phải đóng .

Về cơ bản, bất kỳ thuộc tính nào được đặt tên đều bị loại trừ khỏi kết quả.

Các vấn đề liên quan