我正在尝试以下方法:带有字典的模型在第一个Ajax请求上发送它,然后将结果再次序列化并将其发送回控制器。 这应该testing我可以在我的模型中找回字典。 它不起作用 这是我的简单testing: public class HomeController : Controller { public ActionResult Index (T a) { return View(); } public JsonResult A(T t) { if (t.Name.IsEmpty()) { t = new T(); t.Name = "myname"; tD = new Dictionary<string, string>(); tDAdd("a", "a"); tDAdd("b", "b"); tDAdd("c", "c"); } return Json(t); } } //model public class T { […]
我正在试图实现一个控制器的操作方法,包含一个复杂的对象作为参数的JQuery AJAX调用。 我已经阅读了大量的博客,并尝试了从这些中学到的一些技巧。 我已经构build了我最好的尝试代码(下)的关键post是这里的计算器贴子。 我想触发一个asynchronous的post,当用户select一个字段[不是一个表单保存post – 如我已经find的其他示例中所示]时调用。 我的意图是: 在客户端实例化一个对象[不是提供视图types的ViewModel]; 使用视图中几个字段的数据填充对象; 将此对象转换为JSON; 使用jQuery.Ajax方法调用controller的action方法,传递JSON对象。 结果将作为JSON结果返回; 数据将根据返回的结果加载到视图中的字段中。 问题是: 如果操作方法由HttpPost属性赋值,则不会调用控制器的Action方法(即使AJAX调用types设置为“POST”)。 如果操作方法使用HttpGet,则参数的属性值为null ReadObject方法抛出错误:“从命名空间'Expecting元素'根''..遇到'None'名称'命名空间'”。 希望有人能帮助。 谢谢。 代码如下: 客户端js文件 var disputeKeyDataObj = { "InvoiceNumber": "" + $.trim(this.value) + "", "CustomerNumber": "" + $.trim($('#CustomerNumber').val()) + "" }; var disputeKeyDataJSON = JSON.stringify(disputeHeadlineData); $.ajax({ url: "/cnr/GetDataForInvoiceNumber", type: "POST", data: disputeKeyDataJSON, dataType: 'json', contentType: "application/json; charset=utf-8", […]
当谈到飞镖的JSON编码时,根据Seth Ladd的判断 ,现在最终批准的官方方式是使用dart:convert + JSON.Encode 。 假设我们有一堆模型类( PODO ),例如: class Customer { int Id; String Name; } 现在,我希望能够像这样对域对象进行JSON编码: var customer = new Customer() ..Id = 17 ..Name = "John"; var json = JSON.encode(customer); 不幸的是,这不会工作… Uncaught Error: Converting object to an encodable object failed. Stack Trace: #0 _JsonStringifier.stringifyValue (dart:convert/json.dart:416) #1 _JsonStringifier.stringify (dart:convert/json.dart:336) #2 JsonEncoder.convert (dart:convert/json.dart:177) …. […]
我有这样的string: s = u"""{"desc": "\u73cd\u54c1\u7f51-\u5168\u7403\u6f6e\u6d41\u5962\u54c1\u7f51\u7edc\u96f6\u552e\u5546 <br \/>\r\nhttp:\/\/www.zhenpin.com\/ <br \/>\r\n<br \/>\r\n200\u591a\u4e2a\u56fd\u9645\u4e00\u7ebf\u54c1\u724c\uff0c\u9876\u7ea7\u4e70\u624b\u5168\u7403\u91c7\u8d2d\uff0c100%\u6b63\u54c1\u4fdd\u969c\uff0c7\u5929\u65e0\u6761\u2026"}""" json.loads(s)返回如下错误信息: ValueError: Invalid control character at: line 1 column 33 (char 33) 为什么会发生这种错误? 我该如何解决这个问题?
我有 @RequestMapping(method = RequestMethod.GET) @ResponseBody SessionInfo register(UserProfile profileJson){ … } 我以这种方式传递profileJson: http://server/url?profileJson={"email": "mymail@gmail.com"} 但我的profileJson对象具有所有的空字段。 我应该怎么做才能让springparsing我的json?
我试图build立一个restful的API ,我正在努力如何序列化JSON数据到HTTP query string 。 在请求中需要传递一些强制参数和可选参数,例如(在下面表示为JSON对象): { "-columns" : [ "name", "column" ], "-where" : { "-or" : { "customer_id" : 1, "services" : "schedule" } }, "-limit" : 5, "return" : "table" } 我需要支持各种不同的客户端,所以我正在寻找一个标准化的方式来转换这个JSON对象的查询string。 有一个,它看起来如何? 另一种select是允许用户在消息正文中传递json对象,但是我读到应该避免它( 带请求体的HTTP GET )。 有什么想法吗? 编辑澄清: 列出一些不同的语言如何编码上面给定的json对象: jQuery使用$.param .param:-columns [] =名称和 – 列[] =列& – 地方[ – 或] [客户ID] […]
我无法从JQery.ajax调用中获取JSON对象的内容。 我的电话: $('#Search').click(function () { var query = $('#query').valueOf(); $.ajax({ url: '/Products/Search', type: "POST", data: query, dataType: 'application/json; charset=utf-8', success: function (data) { alert(data); for (var x = 0; x < data.length; x++) { content = data[x].Id; content += "<br>"; content += data[x].Name; content += "<br>"; $(content).appendTo("#ProductList"); // updateListing(data[x]); } } }); }); 看起来JSON对象正在被正确地返回,因为“alert(data)”显示以下内容 [{"Id": […]
根据Crockford的json.org ,一个JSON 对象是由成员组成的 ,由成对组成 。 每一对都由一个string和一个值组成 , string被定义为: string是一个零个或多个Unicode字符的序列,用双引号括起来,使用反斜杠转义符。 一个字符被表示为一个string。 一个string非常像C或Javastring。 但实际上大多数程序员甚至不知道JSON键应该被双引号包围,因为大多数浏览器不需要使用双引号。 麻烦您的JSON用双引号打扰吗? 有效的例子: { "keyName" : 34 } 相对于无效的: { keyName : 34 }
我试图parsingJava中的JSONstring,并find键值对,以便我可以确定JSON对象的近似结构,因为JSONstring的对象结构是未知的。 例如,一个执行可能有一个像这样的JSONstring: {"id" : 12345, "days" : [ "Monday", "Wednesday" ], "person" : { "firstName" : "David", "lastName" : "Menoyo" } } 而另一个像这样的: {"url" : "http://someurl.com", "method" : "POST", "isauth" : false } 我将如何循环遍历各种JSON元素并确定键和值? 我看着jackson-core的JsonParser 。 我看到如何抓住下一个“标记”并确定它是什么types的标记(即字段名称,值,数组开始等),但是,我不知道如何获取实际标记的值。 例如: public void parse(String json) { try { JsonFactory f = new JsonFactory(); JsonParser parser = f.createParser(json); JsonToken […]
开始用IE9testing我的jQuery应用程序。 看来我可能会在这里遇到一些麻烦。 我注意到当我将JSON数据返回给Javascript方法时,我总是得到这个提示:“你想打开还是保存这个文件? 并为我提供了3个button:打开,保存和取消。 当然,我的JavaScript正在基于JSON对象中设置的值进行操作,但由于IE9没有将其传递给脚本,因此我无法执行后续操作。 任何人面临这个问题? 这是一个快照。