2017-06-17 37 views
1

試圖序列元組到JSON:序列化元組到JSON

List<Tuple<string, string, string, string, string, string>> iCalEvents = new List<Tuple<string, string, string, string, string, string>>(); 

如果我輸出的值使用:

string iCalEventsJson = JsonConvert.SerializeObject(iCalEvents); 

它產生有效的JSON:

[{「Item1的「:」電影/事件 - 05/10「,」Item2「:」「,」Item3「:」「,」Item4「:」Lorem ipsum dolor sit amet,consectetur adipisicing elit。Saepe harum, similique eaque ratione optio nihil est,nostrum velit minima soluta, recusandae quis,tenetur sunt ut。 TEMPORA accusamus公積金馬克西姆, 必須遵守debitis quaerat尼莫妙方cupiditate necessitatibus ipsam deleniti consequatur quos quae奧迪奧阿梅特obcaecati, eligendi 「」 項目5 「:」 2017年5月10" 日, 「項6」:「2017-05- 12「},{」Item1「:」Film/ Event Detail - 05/12「,」Item2「:」「,」Item3「:」「,」Item4「:」Development Film /Event Detail「, 「Item5」:「2017-05-12」,「Item6」:「2017-05-12」},{「Item1」:「Film/ Event Detail - 05/14」,「Item2」:「」, 「Item3」:「」,「Item4」:「Development Film /Event Detail」,「Item5」:「2017-05-14」,「Item6」:「2017-05-14」},{「Item1」 :「Film/ Event Detail - 05/16」,「Item2」:「」,「Item3」:「」,「Item4」:「Development Film /Event Detail」,「Item5」 2017-05-16「,」Item6「:」2017-05-16「},{」Item1「:」Film/ Event Detail - 05/19「,」Item2「:」「,」Item3「:」 」, 「項目4」: 「發展電影 /事件詳細信息」, 「項目5」: 「2017年5月19日」, 「項6」: 「2017年5月19日」}]

然而,當我傳遞字符串變量的jquery AJAX在以下:

var json = @iCalEventsJson;  
$.ajax({ 
     url: '@Url.Action("CreateICalEvent", "ICalEvent")', 
     type: 'POST', 
     dataType: 'json', 
     data: json, 
     contentType: 'application/json; charset=utf-8', 
     success: function (data) { 
      var message = data.Message; 
      $("#resultMessage").html(message); 
     } 
    }) 

它產生無效JSON和使AJAX失敗:

[{&quot;Item1&quot;:&quot;Film/Event -- 05/10&quot;,&quot;Item2&quot;:&quot;&quot;,&quot;Item3&quot;:&quot;&quot;,&quot;Item4&quot;:&quot;Lorem ipsum dolor sit amet, consectetur adipisicing elit. Saepe harum, similique eaque ratione optio nihil est, nostrum velit minima soluta, recusandae quis, tenetur sunt ut. Tempora accusamus provident maxime, sunt debitis quaerat nemo, nostrum cupiditate necessitatibus ipsam deleniti consequatur quos quae odio amet obcaecati, eligendi.&quot;,&quot;Item5&quot;:&quot;2017-05-10&quot;,&quot;Item6&quot;:&quot;2017-05-12&quot;},{&quot;Item1&quot;:&quot;Film/Event Detail -- 05/12&quot;,&quot;Item2&quot;:&quot;&quot;,&quot;Item3&quot;:&quot;&quot;,&quot;Item4&quot;:&quot;Development Film/Event Detail&quot;,&quot;Item5&quot;:&quot;2017-05-12&quot;,&quot;Item6&quot;:&quot;2017-05-12&quot;},{&quot;Item1&quot;:&quot;Film/Event Detail -- 05/14&quot;,&quot;Item2&quot;:&quot;&quot;,&quot;Item3&quot;:&quot;&quot;,&quot;Item4&quot;:&quot;Development Film/Event Detail&quot;,&quot;Item5&quot;:&quot;2017-05-14&quot;,&quot;Item6&quot;:&quot;2017-05-14&quot;},{&quot;Item1&quot;:&quot;Film/Event Detail -- 05/16&quot;,&quot;Item2&quot;:&quot;&quot;,&quot;Item3&quot;:&quot;&quot;,&quot;Item4&quot;:&quot;Development Film/Event Detail&quot;,&quot;Item5&quot;:&quot;2017-05-16&quot;,&quot;Item6&quot;:&quot;2017-05-16&quot;},{&quot;Item1&quot;:&quot;Film/Event Detail -- 05/19&quot;,&quot;Item2&quot;:&quot;&quot;,&quot;Item3&quot;:&quot;&quot;,&quot;Item4&quot;:&quot;Development Film/Event Detail&quot;,&quot;Item5&quot;:&quot;2017-05-19&quot;,&quot;Item6&quot;:&quot;2017-05-19&quot;}] 

還試圖ENCOD荷蘭國際集團:

var json = @HttpUtility.HtmlEncode(iCalEventsJson); 
$.ajax({ 
    url: '@Url.Action("CreateICalEvent", "ICalEvent")', 
    type: 'POST', 
    dataType: 'json', 
    data: json, 
    contentType: 'application/json; charset=utf-8', 
    success: function (data) { 
     var message = data.Message; 
     $("#resultMessage").html(message); 
    } 
}); 

...但還是無效JSON:

[{&amp;quot;Item1&amp;quot;:&amp;quot;Film/Event -- 05/10&amp;quot;,&amp;quot;Item2&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;Item3&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;Item4&amp;quot;:&amp;quot;Lorem ipsum dolor sit amet, consectetur adipisicing elit. Saepe harum, similique eaque ratione optio nihil est, nostrum velit minima soluta, recusandae quis, tenetur sunt ut. Tempora accusamus provident maxime, sunt debitis quaerat nemo, nostrum cupiditate necessitatibus ipsam deleniti consequatur quos quae odio amet obcaecati, eligendi.&amp;quot;,&amp;quot;Item5&amp;quot;:&amp;quot;2017-05-10&amp;quot;,&amp;quot;Item6&amp;quot;:&amp;quot;2017-05-12&amp;quot;},{&amp;quot;Item1&amp;quot;:&amp;quot;Film/Event Detail -- 05/12&amp;quot;,&amp;quot;Item2&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;Item3&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;Item4&amp;quot;:&amp;quot;Development Film/Event Detail&amp;quot;,&amp;quot;Item5&amp;quot;:&amp;quot;2017-05-12&amp;quot;,&amp;quot;Item6&amp;quot;:&amp;quot;2017-05-12&amp;quot;},{&amp;quot;Item1&amp;quot;:&amp;quot;Film/Event Detail -- 05/14&amp;quot;,&amp;quot;Item2&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;Item3&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;Item4&amp;quot;:&amp;quot;Development Film/Event Detail&amp;quot;,&amp;quot;Item5&amp;quot;:&amp;quot;2017-05-14&amp;quot;,&amp;quot;Item6&amp;quot;:&amp;quot;2017-05-14&amp;quot;},{&amp;quot;Item1&amp;quot;:&amp;quot;Film/Event Detail -- 05/16&amp;quot;,&amp;quot;Item2&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;Item3&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;Item4&amp;quot;:&amp;quot;Development Film/Event Detail&amp;quot;,&amp;quot;Item5&amp;quot;:&amp;quot;2017-05-16&amp;quot;,&amp;quot;Item6&amp;quot;:&amp;quot;2017-05-16&amp;quot;},{&amp;quot;Item1&amp;quot;:&amp;quot;Film/Event Detail -- 05/19&amp;quot;,&amp;quot;Item2&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;Item3&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;Item4&amp;quot;:&amp;quot;Development Film/Event Detail&amp;quot;,&amp;quot;Item5&amp;quot;:&amp;quot;2017-05-19&amp;quot;,&amp;quot;Item6&amp;quot;:&amp;quot;2017-05-19&amp;quot;}] 

我缺少什麼?

+0

會是什麼意思。你不能在post方法中綁定一個'Tuple'(它沒有無參數的構造函數) –

回答

2

您可能想要使用Html.Raw或近期的任何等價物。

var json = @Html.Raw(iCalEventsJson); 
+0

這麼做了!謝謝@尼克拉森 – OtoNoOto