Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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数据创建RESTAPI_C#_.net_Json_Rest - Fatal编程技术网

C# 使用嵌套json数据创建RESTAPI

C# 使用嵌套json数据创建RESTAPI,c#,.net,json,rest,C#,.net,Json,Rest,我有一个json对象,我想通过rest api保存在数据库中: {"name":"gg", "fragments": [ "{ \"cadence\":\"NORMAL\", \"distance\":1.0, \"inTrainingDistance\":0.0, \"inTrainingSeconds\":0, \"inTrainingState\":\"n

我有一个json对象,我想通过rest api保存在数据库中:

    {"name":"gg",
    "fragments":
    [
      "{
          \"cadence\":\"NORMAL\",
          \"distance\":1.0,
          \"inTrainingDistance\":0.0,
          \"inTrainingSeconds\":0,
          \"inTrainingState\":\"n\",
          \"minutes\":5,
          \"points\":[],
          \"seconds\":0,
          \"totalSeconds\":300,
          \"unique_id\":0
      }",
      "{
        \"cadence\":\"NORMAL\",
        \"distance\":1.0,
        \"inTrainingDistance\":0.0,
        \"inTrainingSeconds\":0,
        \"inTrainingState\":\"n\",
        \"minutes\":5,
        \"points\":[],
        \"seconds\":0,
        \"totalSeconds\":300,
        \"unique_id\":1
      }"
    ],
 "summary":
    "{
    \"data\":
        {
        \"day\":20,
        \"hours\":20,
        \"minutes\":8,
        \"month\":4,
        \"seconds\":11,
        \"year\":2017
        },
    \"favourite\":false,
    \"name\":\"gg\",
    \"reward\":\"f\",
    \"totalCheckpoints\":2,
    \"totalDist\":2.0,
    \"totalTime\":\"10:00\"
    }"
}
我在api中的模型如下所示:

public class PlanModel
    {
        public String name { get; set;}
        public List<fragments> fragments { get; set;}
        public summary summary { get; set; }

    }

    public class fragments
    {
        public String cadence { get; set; }
        public float distance { get; set; }
        public float inTrainingDistance { get; set; }
        public int inTrainingSeconds { get; set; }
        public String inTrainingState { get; set; }
        public int minutes { get; set; }
        public List<points> point { get; set; }
        public int seconds { get; set; }
        public int totalSeconds { get; set; }
        public int unique_id { get; set; }
    }

    public class summary
    {
        public data data { get; set; }
        public bool favourite { get; set; }
        public string name { get; set; }
        public string reward { get; set; }
        public int totalCheckpoints { get; set; }
        public float totalDist { get; set; }
        public TimeSpan totalTime { get; set; }
    }
    public class points
    {
        public float altitude { get; set; }
        public float latitude { get; set; }
        public float longitude { get; set; }
        public int time { get; set; }
    }
    public class data
    {
        public int day { get; set; }
        public int hours { get; set; }
        public int minutes { get; set; }
        public int month { get; set; }
        public int seconds { get; set; }
        public int year { get; set; }
    }
follow_redirects:true
method:POST
url:localhost:58202/api/Plan/
digest_username:
digest_password:
consumer_key:
consumer_secret:
access_token:
token_secret:
signature_type:query
header_name_1:Content-Type
header_value_1:application/json
body:{"name":"gg",
 "fragments":
    [
      "{
          \"cadence\":\"NORMAL\",
          \"distance\":1.0,
          \"inTrainingDistance\":0.0,
          \"inTrainingSeconds\":0,
          \"inTrainingState\":\"n\",
          \"minutes\":5,
          \"points\":[],
          \"seconds\":0,
          \"totalSeconds\":300,
          \"unique_id\":0
      }",
      "{
        \"cadence\":\"NORMAL\",
        \"distance\":1.0,
        \"inTrainingDistance\":0.0,
        \"inTrainingSeconds\":0,
        \"inTrainingState\":\"n\",
        \"minutes\":5,
        \"points\":[],
        \"seconds\":0,
        \"totalSeconds\":300,
        \"unique_id\":1
      }"
    ],
 "summary":
    "{
    \"data\":
        {
        \"day\":20,
        \"hours\":20,
        \"minutes\":8,
        \"month\":4,
        \"seconds\":11,
        \"year\":2017
        },
    \"favourite\":false,
    \"name\":\"gg\",
    \"reward\":\"f\",
    \"totalCheckpoints\":2,
    \"totalDist\":2.0,
    \"totalTime\":\"10:00\"
    }"
}
请求如下所示:

public class PlanModel
    {
        public String name { get; set;}
        public List<fragments> fragments { get; set;}
        public summary summary { get; set; }

    }

    public class fragments
    {
        public String cadence { get; set; }
        public float distance { get; set; }
        public float inTrainingDistance { get; set; }
        public int inTrainingSeconds { get; set; }
        public String inTrainingState { get; set; }
        public int minutes { get; set; }
        public List<points> point { get; set; }
        public int seconds { get; set; }
        public int totalSeconds { get; set; }
        public int unique_id { get; set; }
    }

    public class summary
    {
        public data data { get; set; }
        public bool favourite { get; set; }
        public string name { get; set; }
        public string reward { get; set; }
        public int totalCheckpoints { get; set; }
        public float totalDist { get; set; }
        public TimeSpan totalTime { get; set; }
    }
    public class points
    {
        public float altitude { get; set; }
        public float latitude { get; set; }
        public float longitude { get; set; }
        public int time { get; set; }
    }
    public class data
    {
        public int day { get; set; }
        public int hours { get; set; }
        public int minutes { get; set; }
        public int month { get; set; }
        public int seconds { get; set; }
        public int year { get; set; }
    }
follow_redirects:true
method:POST
url:localhost:58202/api/Plan/
digest_username:
digest_password:
consumer_key:
consumer_secret:
access_token:
token_secret:
signature_type:query
header_name_1:Content-Type
header_value_1:application/json
body:{"name":"gg",
 "fragments":
    [
      "{
          \"cadence\":\"NORMAL\",
          \"distance\":1.0,
          \"inTrainingDistance\":0.0,
          \"inTrainingSeconds\":0,
          \"inTrainingState\":\"n\",
          \"minutes\":5,
          \"points\":[],
          \"seconds\":0,
          \"totalSeconds\":300,
          \"unique_id\":0
      }",
      "{
        \"cadence\":\"NORMAL\",
        \"distance\":1.0,
        \"inTrainingDistance\":0.0,
        \"inTrainingSeconds\":0,
        \"inTrainingState\":\"n\",
        \"minutes\":5,
        \"points\":[],
        \"seconds\":0,
        \"totalSeconds\":300,
        \"unique_id\":1
      }"
    ],
 "summary":
    "{
    \"data\":
        {
        \"day\":20,
        \"hours\":20,
        \"minutes\":8,
        \"month\":4,
        \"seconds\":11,
        \"year\":2017
        },
    \"favourite\":false,
    \"name\":\"gg\",
    \"reward\":\"f\",
    \"totalCheckpoints\":2,
    \"totalDist\":2.0,
    \"totalTime\":\"10:00\"
    }"
}

您将此json发送到哪里?您可以发送一个请求,从您发送这个json吗?。例如,如果您从浏览器通过javascript发送此json,您可以在“网络”选项卡中看到(chrome中的F12)请求URL:引用方策略:显示降级请求标题时无引用方临时标题\uuuuu DHC-Request-Id:15b968fd691内容类型:应用程序/json来源:chrome-extension://aejoelaoggembcahagimdiliamlcdmfm 用户代理:Mozilla/5.0(Windows NT 6.1;Win64;x64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/57.0.2987.133 Safari/537.36抱歉,但是,您能在您的评论中看到json数据吗?。您需要在问题或评论中包含完整的请求。有了这些,我们可以看到您是如何发送信息的抱歉误解了您,在一个问题中编辑并添加了一个来自网络选项卡的完整请求。在您的JSON中,
“summary”
的值和数组“fragments”中的值类似:[]实际上是包含转义的双序列化JSON的字符串文本。为什么要以这种方式创建JSON?这个问题能解决吗?