没有按照我想要的方式获得json
Not getting json the way I want
我正在尝试以特定的方式发送或检索,不确定故障在哪里。。。
以下是使用JSON.stringfy(测试):时的外观
{"1":"<div class='"test'">test1</div>","2":"<div class='"test'">test2</div>","1":"<div class='"test'">test1</div>"}
但是我的ajax/json返回如下:
["'1':'<div class='test'>test1</div>'","'2':'<div class='test'>test2</div>'","'3':'<div class='test'>test3</div>'"]
我需要在开头加上花括号,"不要在那里。"
以下是我发送和获取数据的方式。
test.php
$test = array();
$test[] = array('id' => '1', 'name' => 'test1');
$test[] = array('id' => '2', 'name' => 'test2');
$test[] = array('id' => '3', 'name' => 'test3');
echo json_encode($test);
以及检索它的javascript:
var mytest = [];
$.getJSON('test.php', function(data){
$.each(data, function (i, val) {
mytest.push("'"+val.id+"':'<div class='test'>"+val.name+"</div>'");
});
alert(JSON.stringify(mytest));
});
真的希望得到帮助。。。我被卡住了。提前感谢:-)
您使用的是一个数组。正如凯文指出的那样,这是行不通的。您需要声明一个需要键值对的对象文字。
即
var myTest = {};
$.each(data, function (i, val) {
mytest[i] = val;
});
这是一个很好的,更详细的解释。如何向JavaScript对象添加键/值对?
在您的JavaScript代码中,您正在结果中创建一个数组,而不是一个对象。。。因此,您应该使用{}
而不是使用[]
,您应该直接为对象的属性分配mytest["1"] = whatever
,而不是使用.push。所以这里有一个修改后的代码形式。。。
var mytest = {};
$.getJSON('test.php', function(data){
$.each(data, function (i, val) {
mytest[val.id] = '<div class="test">'+val.name+'</div>';
});
alert(JSON.stringify(mytest));
});
您真正想要的很可能只是一个对象。
var mytest = {};
$.each(data, function (i, val) {
mytest[val.id] = "<div class='test'>"+val.name+"</div>";
})
注意,我特意将var mytest
移到ajax回调中,因为没有理由在外部定义它(它在回调之外不可用)
相关文章:
- JavaScript-如何以这种方式格式化此JSON
- 我可以在Node中以编程方式更改.js文件的module.exports中的JSON对象吗
- 迭代JSON对象并将元素打印到屏幕上的最佳方式是什么
- 接收json异步响应的最有效方式
- 将JSON从PHP控制器传递到AngularJS控制器的最佳方式
- 解析JSON的有效方式
- 使用普通JS频繁升级JSON文件的首选方式
- 如何在 Python 和 JavaScript 中以相同的方式散列“json”嵌套字典
- JavaScript 中通过公共属性“交叉”两个 JSON 对象数组的最佳方式
- 如何让 Javascript 和 PHP 以相同的方式对 JSON 响应进行排序
- 以编程方式创建json
- 没有按照我想要的方式获得json
- 是否可以以某种方式将JSON对象直接存储到DOM中
- 以更简单的方式合并JSON
- 钛移动,最好的方式获得数组值与自定义循环
- 在javascript中以编程方式创建json数组对象
- 如何使用AngularJS以正确的方式显示Json文件中的数据
- 如何使用javascript或jquery以编程方式生成JSON格式的数据
- 最快的方式传递json从节点服务器到客户端在页面加载
- 以编程方式替换JSON对象