2015-01-22 2 views
0

У меня проблема с вставкой данных в highchart. Я пытаюсь настроить пример из http://www.highcharts.com/stock/demo Но моя диаграмма не отображает никакой информации, я смотрел данные примера, и она находится в том же формате, что и мой данные:Картирование значений с высоким качеством

Вот мой код в C#:

[HttpPost] 
public JsonResult GetData() 
{ 
    ... 
    var view= new JavaScriptSerializer().Serialize(dictionary.dicValues.Select(x => new object[] {x.Key, x.Value})); 
    view= Regex.Replace(view, @"\""\\/Date\((-?\d+)\)\\/\""", "$1"); 
    view= view.Replace(@"[", "").Replace(@"]", ""); 
    return new JsonResult 
    { 
     Data = new 
     { 
      view 
     }, 
     ContentType = null, 
     ContentEncoding = null, 
     JsonRequestBehavior = JsonRequestBehavior.AllowGet 
    }; 
} 

Вот мой JS код для создания highchart:

$(elem).highcharts('StockChart', { 
    rangeSelector: { 
     selected: 1 
    }, 

    title: { 
     text: "title" 
    }, 

    xAxis: { 
     type: 'datetime', 
    }, 

    yAxis: { 
     type: 'double', 
    }, 

    series: [{ 
      name: 'AAPL', 
      data: data.view, 
      tooltip: { 
       valueDecimals: 2 
      } 
    }] 
}); 

И вот мои данные, которые я прохожу к виду:

«1421751600000,4.9928500000000007,1421755200000,13.314966666666665,1421758800000,8.316766666666668,1421845200000,14.738,1421848800000,7.9762000000000013»

или если я не стер круглые скобки:

"[[1421751600000,4.9928500000000007], [1421755200000,13.314966666666665], [1421758800000,8.316766666666668], [1421845200000,14.738], [1421848800000,7.9762000000000013]]"

Если кто-то может мне помочь, я буду очень благодарен!

+0

Почему вы в первую очередь стираете круглые скобки? Это недействительно JSON без них? Что на самом деле 'data.view' выглядит как * в браузере *? Видно ли это как массив? Или просто строка? –

+0

@MattBurland в конце моего вопроса Я вставляю результат из 'data.view' с удалением скобок и без удаления круглых скобок – MNie

+0

Это строка? Если вы делаете 'typeof data.view', что вы получаете? Я подозреваю, что это интерпретируется как строка, потому что по какой-то причине вы устанавливаете 'ContentType' на' null'. –

ответ

1

Вы должны быть в состоянии просто это:

public JsonResult GetData() 
{ 
    return new JsonResult() 
    { 
     Data = dictionary.dicValues.Select(x => new object[] {x.Key, x.Value}) 
    }; 
} 

Значения по умолчанию для JsonResult должен дать вам правильные настройки для ContentType и он должен автоматически использовать сериалайзер по умолчанию для сериализации объекта в правильной последовательности JSON (если вам не нужна специальная сериализация).

Смежные вопросы