Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 这个json格式正确吗?_C#_Javascript_Asp.net_Json - Fatal编程技术网

C# 这个json格式正确吗?

C# 这个json格式正确吗?,c#,javascript,asp.net,json,C#,Javascript,Asp.net,Json,我有一个json数据,当我试图解析它时返回错误语法不正确请帮助我找到语法错误 [{"isData":"Yes","Details":"[{"Id":"70","Name":"Test","FileName":"Uploaded","FileFormat":".mp4","FileType":"Video","FileDuration":"00:30:00 ","StartTime":"/Date(1372617000000)/","EndTime":"/Date(1372681771000)/

我有一个json数据,当我试图解析它时返回错误语法不正确请帮助我找到语法错误

[{"isData":"Yes","Details":"[{"Id":"70","Name":"Test","FileName":"Uploaded","FileFormat":".mp4","FileType":"Video","FileDuration":"00:30:00  ","StartTime":"/Date(1372617000000)/","EndTime":"/Date(1372681771000)/","File":"2562013172331815635077778118152815.mp4"}]"}]
这是用于序列化数据的类,我使用的是javascript序列化程序

public enum Data
{
    Yes,
    No
}

public class MessageResponse()
{
    public string isData { get; set; }
    public string Details { get; set; }
} 


      List<MessageResponse> response = new List<MessageResponse>();
string strJson="[{"Id":"70","Name":"Test","FileName":"Uploaded","FileFormat":".mp4","FileType":"Video","FileDuration":"00:30:00  ","StartTime":"/Date(1372617000000)/","EndTime":"/Date(1372681771000)/","File":"2562013172331815635077778118152815.mp4"}]";
 var newData = new MessageResponse
                            {
                                isData = Data.Yes.ToString(),
                                Details = strJson
                            };

                            response.Add(newData);

            var jsonSerialiser1 = new JavaScriptSerializer();
           string result = jsonSerialiser1.Serialize(response);
公共枚举数据
{
对
不
}
公共类MessageResponse()
{
公共字符串isData{get;set;}
公共字符串详细信息{get;set;}
} 
列表响应=新列表();
字符串strJson=“[{”Id:“70”,“Name:“Test”,“FileName:“upload”,“FileFormat:“.mp4”,“FileType:“Video”,“FileDuration:“00:30:00”,“StartTime:”/Date(1372617000000)/”,“EndTime:“/Date(1372681771000)/”,“File:“25620013172331815635077778118152815.mp4”];
var newData=newmessageresponse
{
isData=Data.Yes.ToString(),
详细信息=strJson
};
响应。添加(新数据);
var jsonSerialiser1=新的JavaScriptSerializer();
string result=jsonSerialiser1.Serialize(响应);

这是无效的JSON。
详细信息
属性的格式不正确。您应该删除该值周围的引号。应该是这样的:

[
    {
        "isData": "Yes",
        "Details": [
            {
                "Id": "70",
                "Name": "Test",
                "FileName": "Uploaded",
                "FileFormat": ".mp4",
                "FileType": "Video",
                "FileDuration": "00:30:00  ",
                "StartTime": "/Date(1372617000000)/",
                "EndTime": "/Date(1372681771000)/",
                "File": "2562013172331815635077778118152815.mp4"
            }
        ]
    }
]
或者,如果希望详细信息是一个字符串属性(表示JSON),这有点蹩脚,那么应该正确地转义双引号:

[
    {
        "isData": "Yes",
        "Details": "[{\"Id\":\"70\",\"Name\":\"Test\",\"FileName\":\"Uploaded\",\"FileFormat\":\".mp4\",\"FileType\":\"Video\",\"FileDuration\":\"00: 30: 00\",\"StartTime\":\"/Date(1372617000000)/\",\"EndTime\":\"/Date(1372681771000)/\",\"File\":\"2562013172331815635077778118152815.mp4\"}]"
    }
]

通过此结构,您将能够映射到当前对象模型。但是我建议您使用第一种方法。

这是无效的JSON。
详细信息
属性的格式不正确。您应该删除该值周围的引号。应该是这样的:

[
    {
        "isData": "Yes",
        "Details": [
            {
                "Id": "70",
                "Name": "Test",
                "FileName": "Uploaded",
                "FileFormat": ".mp4",
                "FileType": "Video",
                "FileDuration": "00:30:00  ",
                "StartTime": "/Date(1372617000000)/",
                "EndTime": "/Date(1372681771000)/",
                "File": "2562013172331815635077778118152815.mp4"
            }
        ]
    }
]
或者,如果希望详细信息是一个字符串属性(表示JSON),这有点蹩脚,那么应该正确地转义双引号:

[
    {
        "isData": "Yes",
        "Details": "[{\"Id\":\"70\",\"Name\":\"Test\",\"FileName\":\"Uploaded\",\"FileFormat\":\".mp4\",\"FileType\":\"Video\",\"FileDuration\":\"00: 30: 00\",\"StartTime\":\"/Date(1372617000000)/\",\"EndTime\":\"/Date(1372681771000)/\",\"File\":\"2562013172331815635077778118152815.mp4\"}]"
    }
]
通过此结构,您将能够映射到当前对象模型。但我建议您使用第一种方法。

从详细信息数据中删除:

[{
    "isData":"Yes",
    "Details":
    [{
        "Id":"70",
        "Name":"Test",
        "FileName":"Uploaded",
        "FileFormat":".mp4",
        "FileType":"Video",
        "FileDuration":"00:30:00",
        "StartTime":"/Date(1372617000000)/",
        "EndTime":"/Date(1372681771000)/",
        "File":"2562013172331815635077778118152815.mp4"
    }]
}]
从详细信息数据中删除“详细信息:

[{
    "isData":"Yes",
    "Details":
    [{
        "Id":"70",
        "Name":"Test",
        "FileName":"Uploaded",
        "FileFormat":".mp4",
        "FileType":"Video",
        "FileDuration":"00:30:00",
        "StartTime":"/Date(1372617000000)/",
        "EndTime":"/Date(1372681771000)/",
        "File":"2562013172331815635077778118152815.mp4"
    }]
}]

详细信息应为类(即用户定义的类)类型,并应包含所有属性

public class Details
{ public int Id {get; set;} ... }

详细信息应为类(即用户定义的类)类型,并应包含所有属性

public class Details
{ public int Id {get; set;} ... }

首先,您的json是无效的

[
]

[
    {
        "isData": "Yes",
        "Details": [
            {
                "Id": "70",
                "Name": "Test",
                "FileName": "Uploaded",
                "FileFormat": ".mp4",
                "FileType": "Video",
                "FileDuration": "00: 30: 00",
                "StartTime": "/Date(1372617000000)/",
                "EndTime": "/Date(1372681771000)/",
                "File": "2562013172331815635077778118152815.mp4"
            }
        ]
    }
]
其次,您的课程可以改进为:

public class MessageResponse
{
    public string isData { get; set; }
    public Details Details { get; set; }
} 

public class Details
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string FileName { get; set; }
    public string FileFormat { get; set; }
    public string FileType { get; set; }
    public string FileDuration { get; set; }
    public string StartTime { get; set; }
    public string EndTime { get; set; }
    public string File { get; set; }
}

您可能需要设置正确的数据类型,但对于诸如开始时间等内容。

首先,您的json无效

[
]

[
    {
        "isData": "Yes",
        "Details": [
            {
                "Id": "70",
                "Name": "Test",
                "FileName": "Uploaded",
                "FileFormat": ".mp4",
                "FileType": "Video",
                "FileDuration": "00: 30: 00",
                "StartTime": "/Date(1372617000000)/",
                "EndTime": "/Date(1372681771000)/",
                "File": "2562013172331815635077778118152815.mp4"
            }
        ]
    }
]
其次,您的课程可以改进为:

public class MessageResponse
{
    public string isData { get; set; }
    public Details Details { get; set; }
} 

public class Details
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string FileName { get; set; }
    public string FileFormat { get; set; }
    public string FileType { get; set; }
    public string FileDuration { get; set; }
    public string StartTime { get; set; }
    public string EndTime { get; set; }
    public string File { get; set; }
}

您可能希望为开始时间等设置正确的数据类型。

语法错误在这里:
“[{”Id
。语法错误在这里:
“[{”Id