有没有更好的方法将URL的location.search转换为对象? 也许只是更高效或减少? 我正在使用jQuery,但纯JS也可以使用。 var query = window.location.search.substring(1), queryPairs = query.split(‘&’), queryJSON = {}; $.each(queryPairs, function() { queryJSON[this.split(‘=’)[0]] = this.split(‘=’)[1]; });
我对JSON对象/数组的语法和结构很困难。 { “accounting” : [ { “firstName” : “John”, “lastName” : “Doe”, “age” : 23 }, { “firstName” : “Mary”, “lastName” : “Smith”, “age” : 32 } ], “sales” : [ { “firstName” : “Sally”, “lastName” : “Green”, “age” : 27 }, { “firstName” : “Jim”, “lastName” : “Galley”, “age” : 41 } ] } […]
我正在使用具有一些奇怪结构的JSON数据,例如: { “RESULT”: { “COLUMNS”: [“ID”,”name”,”ENABLED”,”perms”,”vcenabled”,”vcvalue”,”checkenabled”,”checkvalue”,”indxenabled”,”indxvalue”], “DATA”: [ [7,”Site-A”, 1, “1,2”, 1, 1, 1, 0, 0, 0], [15,”Site-B”, 1, “1,2,3,4”, 1, 1, 1, 0, 0, 0] ] }, “ERROR”: 0 } 我想创建一些JavaScript,将这些数据重组为正确的JSON结构,以便“Column”数组值成为“DATA”数组值的键。 因此,在运行JS进程后,数据类似于以下内容: [ {“ID”:7,”name”:”Site-A”,”ENABLED”:1,”perms”:”1,2″,”vcenabled”:1,”vcvalue”:1,”checkenabled”:1,”checkvalue”:1,”indxenabled”:1,”indxvalue”:1}, {“ID”:15,”name”:”Site-B”,”ENABLED”:1,”perms”:”1,2″,”vcenabled”:1,”vcvalue”:1,”checkenabled”:1,”checkvalue”:1,”indxenabled”:1,”indxvalue”:1} ] 完成JSON重组的JavaScript最佳实践是什么? 我可以使用JS框架(如JQuery,Foundation JS等)完成此任务吗?
我有以下示例JSON var data = { “menu”: [ { “name”: “Event A”, “sub”: [{ “name”: “Sub Event A 1”, “sub”: null }, { “name”: “Sub Event A 2”, “sub”: [{ “name”: “Sub Sub Event A 2”, “sub”: null }] } ] }, { “name”: “Event B”, “sub”: [{ “name”: “Sub Event B 1”, “sub”: null }, […]
关于这篇文章 ,我有另一个问题 – 如何组合两个json数据对象? 第一个json对象, {“file”:{“name”:”1024×768.jpg”,”type”:”image\/jpeg”,”tmp_name”:”C:\\wamp\\tmp\\php2C2E.tmp”,”error”:0,”size”:469159}} 第二个json对象, {“title”:”title”,”content”:”bla bla blah”} $.post(“process.php”, first + second ,function(xml){ }); 所以我可以使用print_r($_POST)在process.php中获取这个数组: Array ( [file] => Array ( [name] => 1024×768.jpg [type] => image/jpeg [tmp_name] => C:\wamp\tmp\phpA1.tmp [error] => 0 [size] => 469159 ) [title] => title [content] => bla bla blah )
我一直在关注JSONPath,虽然看起来做得很好,但我想知道是否有人使用它并且可以对其可用性发表评论,还是可以推荐其他选择? 如果有一个JQuery的插件做了类似的事情,那么真正光滑的是什么。 我一直在搜索插件并空手而归。 无论如何,在我花时间去了解JSONPath(其中有一些我不热衷的方面)之前,或者在我重新发明轮子之前,我想我会看到是否有人对此有所了解…… 为了让您了解我的意思,想象一下这个Javascript对象: var Characters=[ { id: “CuriousGeorge”, species:”Monkey”, mood: “curious”, appendage: [ { type: “hand”, side: “left”, holding: [ { id: “Banana” } ] }, { type: “hand”, side: “right”, holding: [] }, { type: “foot”, side: “left”, holding: [] }, { type: “foot”, side: “right”, holding: [ { id: “YellowHat” }, […]
Ajax.BeginForm调用一个动作,然后返回JSON。 如何在OnComplete js函数中访问JSON对象? 所以我的Ajax.BeginForm看起来像这样…… using (Ajax.BeginForm(“Coupon”, new AjaxOptions { OnSuccess = “CouponSubmitted” })) 我的OnSuccessfunction看起来像这样…… function CouponSubmitted() { var data = response.get_response().get_object(); alert(data.success); } 我也试过…… function CouponSubmitted(data) { alert(data.success); } 我的控制器“优惠券”返回此… return Json(new { success = false, nameError = nameError, emailError = emailError }); 关于如何访问返回的Json的任何想法?
我正在使用Json Result来显示一个表,当我显示结果时它工作正常。 现在我想为它添加一个排序function,所以我使用了canSort:true属性。 但是现在当我点击表格的标题以进行排序时,我在浏览器中得到了下面编码的字符串,它似乎也被排序了,但是对它进行了某种编码,如下所示。 {“Data”:”\u003ctable class=\”paramCustomDataTable\”\u003e\u003cthead\u003e\u003ctr class=\”customHead\”\u003e\u003cth scope=\”col\”\u003e\u003ca href=\”/Parameters/CustomData?id=7&sort=Name&sortdir=ASC\”\u003eName\u003c/a\u003e\u003c/th\u003e\u003cth scope=\”col\”\u003e\u003ca href=\”/Parameters/CustomData?id=7&sort=Value&sortdir=DESC\”\u003eDataValue\u003c/a\u003e\u003c/th\u003e\u003cth scope=\”col\”\u003eDelete\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003eNewdata\u003c/td\u003e\u003ctd\u003e123456\u003c/td\u003e\u003ctd\u003e\u003ca href=\u0027delete/5\u0027\u003eDelete\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e”} 我知道下面的代码可能存在一些不一致之处,因为我必须删除版权问题的实际列。 C# code [CacheControl(HttpCacheability.NoCache), AcceptVerbs(HttpVerbs.Get)] public JsonResult GetMyData(int id) { var result = _myRepository.GetmyDataWithId(id).ToList(); var grid = new WebGrid(result, rowsPerPage: 5, canSort:true); var htmlString = grid.GetHtml( columns: grid.Columns( grid.Column(“Name”, “Name”), grid.Column(“Value”, “DataValue”), )); return Json(new { Data = htmlString.ToHtmlString() } , JsonRequestBehavior.AllowGet); […]
我正在使用jQuery创建并发送一个JSON对象,但我无法弄清楚如何使用org.json.simple库在我的Ajax servlet中正确解析它。 我的jQuery代码如下: var JSONRooms = {“rooms”:[]}; $(‘div#rooms span.group-item’).each(function(index) { var $substr = $(this).text().split(‘(‘); var $name = $substr[0]; var $capacity = $substr[1].split(‘)’)[0]; JSONRooms.rooms.push({“name”:$name,”capacity”:$capacity}); }); $.ajax({ type: “POST”, url: “ParseSecondWizardAsync”, data: JSONRooms, success: function() { alert(“entered success function”); window.location = “ctt-wizard-3.jsp”; } }); 在servlet中,当我使用request.getParameterNames()并将其打印到我的控制台时,我得到参数名称rooms[0][key] etcetera,但我无法以任何方式解析JSON Array房间。 我试过解析request.getParameter(“rooms”)或.getParameterValues(“rooms”)变量返回的对象,但它们都返回一个空值。 我在jQuery中格式化JSON数据的方式有什么问题,还是有办法解析我缺少的servlet中的JSON? 请求更多代码,即使servlet仍然非常空,因为我无法弄清楚如何解析数据。
我试图获取本地文件的正确路径。 我有以下目录: Resources -> data -> file.json js -> folder -> script.js html -> folder -> file1.html 我正在从file1.html执行script.js ,使用js代码: var answers = JSON.parse(‘../../data/file.json’); alert(answers); 但它不起作用,即使警报没有开始。 怎么了? 我也试过这个: function readJSON(file) { var request = new XMLHttpRequest(); request.open(‘GET’, file, false); request.send(null); if (request.status == 200) return request.responseText; }; var temp = readJSON(‘../../data/file.json’); alert(temp); 在这种情况下,警报未定义。