Json 没有以所需的模式返回正确的值

Posted

技术标签:

【中文标题】Json 没有以所需的模式返回正确的值【英文标题】:Json not returning the correct values in the desired pattern 【发布时间】:2016-02-05 20:31:41 【问题描述】:

我需要这个作为我的 json 返回。这些数据是从数据库中提取的,但目前我使用的是静态数据。

 
        "data": [
            
                "id": 1,
                "latitude":17.3700,
                "longitude": 78.4800,
                "gallery":
                    [
                        "assets/img/items/1.jpg"
                    ]
            
        ]
    

我已经在后面的代码中尝试过这个,但我没有得到想要的结果。

[WebMethod]
    [ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
    public List<> getData()
    
        Account account = new Account
        
            id = 1,
            latitude = "17.3700",
            longitude ="78.4800",
            gallery = new List<string>
                  
                    "assets/img/items/1.jpg",
                     "assets/img/items/2.jpg",
                  
        ;
        return new javascriptSerializer().Serialize(account);
    

    public class Account
    
        public int id  get; set; 
        public string latitude  get; set; 
        public string longitude  get; set; 
        public IList<string> gallery   get; set; 
    

结果:


 "id":2,
 "latitude":"17.3700",
 "longitude":"78.4800",
 "gallery":["assets/img/items/1.jpg","assets/img/items/2.jpg"]

【问题讨论】:

【参考方案1】:

您需要使用 data 属性创建一个新类:

public class Result  public object[] Data  get; set;  

然后返回:

public string getData()

    Result result = new Result
    
        Data = new []  new Account  id = 1, ...  
    ;

    return new JavaScriptSerializer().Serialize(result);

【讨论】:

Name property data 一切正常,符合要求 我正在研究rest Ws,它给我的数据为null:

以上是关于Json 没有以所需的模式返回正确的值的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法以所需的格式加入这两个表?

有没有办法以所需的顺序运行Specflow场景(C#Selenium)?

mktime 返回不正确的值

无法以所需的方式将 XML 属性值解析为 C# 枚举

无法以所需的方式旋转立方体 - 平面和鼠标移动方法

Python循环不返回所需的值