更改方法以返回数组的JSON字符串数组

时间:2013-10-18 12:56:35

标签: c# asp.net json asp.net-mvc-4

我需要更改下面的方法来返回一个JSON字符串数组,每个数组都有两个元素(I.E. [value,date])。目前我有一个方法将JSON字符串构建为一个大的单个对象数组,如何将其更改为所需的格式呢? 目前,此方法返回的JSON如下所示

{[{"measurementshortdate": "9/27","value": 99.99,}, {"measurementshortdate": "9/27","value": 104.57,}, {"measurementshortdate": "9/28","value": 232.21,}]}

这是我用来构建它的方法。

    public string GetJSONAbbottSeriesData()
    {
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        sb.Append("[");

        foreach (MeasurementGroup m in this.MeasurementTypeGroups[0].MeasurementGroups)
        {
            if (sb.ToString() != "[")
            {
                sb.Append(", ");
            }

            sb.Append("{" +
                "\"measurementshortdate\": \"" + m.When.ToString("M/dd") + "\"," +
                "\"value\": " + m.Measurements[0].Value.ToString("0.##") + "," +
                "}");
        }

        sb.Append("]");

        return sb.ToString();
    }

谢谢!

1 个答案:

答案 0 :(得分:-1)

您需要确保制作正确的格式,例如......

{"page":1,"total":1,"records":"2","rows":[
  {"group":[{ label: 'child1' }, { label: 'child2' }],
   "group":[{ label: 'child1' }, { label: 'child2' }],
   "group":[{ label: 'child1' }, { label: 'child2' }]]}

上面的格式在数据之前有一些功能,因为在JQgrid中使用,我不得不改变我的JSon格式,因为我使用的是Entity Framework而且他没有返回正确的格式。

因此,您只需要操纵字符串以根据需要返回数据,在调试模式下查看sb.Append命令,看看返回的格式是否正确。