加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 将动态JSON对象传递给Web API – Newtonsoft示例

发布时间:2020-12-15 19:39:55 所属栏目:asp.Net 来源:网络整理
导读:我需要将一个动态 JSON对象传递给我的Web API控制器,以便我可以根据它的类型进行处理.我尝试使用JSON.NET示例 that can be seen here ,但是当我使用Fiddler时,我可以看到JObect中传递的内容总是为空. 这是从粘贴到Fiddler的例子中发出的: POST http://local
我需要将一个动态 JSON对象传递给我的Web API控制器,以便我可以根据它的类型进行处理.我尝试使用JSON.NET示例 that can be seen here,但是当我使用Fiddler时,我可以看到JObect中传递的内容总是为空.

这是从粘贴到Fiddler的例子中发出的:

POST http://localhost:9185/api/Auto/PostSavePage/  HTTP/1.1
User-Agent: Fiddler
Content-type: application/json
Host: localhost
Content-Length: 88

{AlbumName: "Dirty Deeds",Songs:[ { SongName: "Problem Child"},{ SongName:  
"Squealer"}]}

这里是我非常简单的Web API控制器方法:

[HttpPost]
 public JObject PostSavePage(JObject jObject)
 {        
     dynamic testObject = jObject;         
     // other stuff here
 }

我是新来的,我在这方面有几个问题:

在这个具体例子中我做错了吗?

可以说,更重要的是,是否有更好的方式传递一个动态的JSON对象(来自JavaScript AJAX文章)?

解决方法

根据Perception的评论,您的JSON看起来不合适.运行它通过 JSONLint,你得到:
Parse error on line 1:
{    AlbumName: "Dirty De
-----^
Expecting 'STRING','}'

更改它有“围绕字段名称:

{
    "AlbumName": "Dirty Deeds","Songs": [
        {
            "SongName": "Problem Child"
        },{
            "SongName": "Squealer"
        }
    ]
}

还有,您尝试将JObject替换为JToken或Dynamic对象(例如here)?

[HttpPost]
 public JObject PostSavePage(JToken testObject)
 {                
     // other stuff here
 }

要么

[HttpPost]
 public JObject PostSavePage(dynamic testObject)
 {                
     // other stuff here
 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读