从C#返回带有动态属性的JSON(UTC毫秒名称)

时间:2015-10-29 23:04:17

标签: c# asp.net json ajax json.net

您好我正在使用AJAX切换到JSON实现 - 需要一些帮助来理解这一点。

数据:数据中有两部分,第一部分是UTC时间的日期,以毫秒为单位,第二部分是值。请建议,如果我应该将其嵌套为值数组或数据对象。

有人可以告诉我这是如何转换为JSON世界的(这是一个JSON对象吗?), 和

  1. C#对象将生成此JSON对象(映射,格式化为UTC时间内的毫秒)。
  2. From JSONutils datamember,dataProperty和None选项之间有什么区别
  3. 要获取JSON数据包,在Action中,我应该返回类型JSON还是ActionResult?
  4. 在HTML / JS方面,我如何从ActonResult或JSON解析出来

    {
        "943721039":4,
        "946706653":7,
        "946706350":6,
        "946728112":1
    }
    

1 个答案:

答案 0 :(得分:1)

3-4。只需查看MSDN上的一个简单示例: https://msdn.microsoft.com/en-us/library/system.web.mvc.jsonresult(v=vs.118).aspx

这种方法从ex调用时返回简单的json。 jquery $ .ajax。

  1. 你可以像David建议的那样去动态,并为它添加动态属性(带有毫秒名称),例如: Dynamically adding properties to a dynamic object?
  2. 但是,我会尽可能地避免它。为什么不创建一个对象列表,如{time:' 878499204',value:' 2'},更容易创建然后消费。否则,对于你的json,你基本上需要使用' in'在客户方面,这不是最酷的方式。我这样做:

    return Json(new []{ new {time = '878499204', value ='2'}, ... } );
    

    这会产生:

    [ { time: '878499204', value ='2'}, .... ]
    

    您还可以对序列化进行自定义,并将字典序列化为您需要的格式,或者自己创建JSON,只需将其构建为字符串即可。

    1. 阅读手册..