【问题标题】:Unable to separate elements of JSON无法分离 JSON 的元素
【发布时间】:2020-10-28 18:03:29
【问题描述】:

我正在尝试使用 C# 控制器和 javascript 创建用于 chart.js 绘图的数据。我的 Controller 方法将 JSONResult 返回给 javascript 函数。

public JsonResult GetPlansPerDoc(){
     //Code to grab data from database
     foreach (RadOnc ro in radOncs){
          pm = new CKPlanTypeDistributionPlotModel()
                {
                    DPName = ro.LastName,
                    DPValue = ro.Plans.Count()
                };

                planList.Add(pm);
            }

            JsonResult data = Json(planList, JsonRequestBehavior.AllowGet);

            return data;
 }

这是调用 Controller 方法的 Javascript 代码。

$.ajax({
            type: 'get',
            url: "@Url.Action("GetPlansPerDoc", "HomeData")",
            dataType: 'json',
            success: function (rawData) {
                console.log(rawData);
                const data = rawData.DPName;
                console.log(data);

当我 console.log 原始数据时,我在 Web 控制台中收到一条 Array 消息,其中包含 json 结果中的四个项目。但是,当我尝试使用 json 结果的字段之一时,我在 Web 控制台中收到“未知”错误。如何使用 json 数据? ​

【问题讨论】:

  • 你试过 JSON.parse(rawData) 吗?
  • 西蒙是的。我收到以下错误:JSON.parse:JSON 数据的第 1 行第 2 列出现意外字符。我相信那是因为 rawData 已经是 json 格式了。
  • 你能给我们看看 JSON 吗?
  • rawData 是一个数组吗?
  • 你在控制台上看到了什么?

标签: javascript c# json asp.net-mvc chart.js


【解决方案1】:

我使用了以下过程。我记得 rawData[0] 会给我第一个项目。所以我尝试了 rawData[0].DPName,它成功地给了我名字。所以我想我会使用下面的代码来提取元素。

rawData.forEach(dp =>{
     xLabels.push(dp.DPName);
     yData.push(dp.DPValue);
}

很想知道是否有更直接的方法。

【讨论】:

    猜你喜欢
    • 2013-09-02
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 2012-09-09
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多