我想迭代一个二维的json对象...对于一维json对象,我这样做
for (key in data) {
alert(data[key]);
}
Run Code Online (Sandbox Code Playgroud)
我怎么办二维的?
我有下面的代码,我通过json传递给jquery.
$string['msg']['1']['Name'] = "John Doe";
$string['msg']['1']['Said'] = "Hello there";
$string['msg']['2']['Name'] = "Jane King";
$string['msg']['2']['Said'] = "Hello there";
$string['errors']['1']['Person'] = "Jane King";
$string['errors']['1']['type'] = "Wrong Screwdriver";
$string['errors']['2']['Person'] = "John Doe";
$string['errors']['2']['type'] = "Wrong Spanner";
Run Code Online (Sandbox Code Playgroud)
JSON输出如下:
{"msg":{"1":{"Name":"John Doe","Said":"Hello there"},"2":{"Name":"Jane King","Said":"Hello there"}},"errors":{"1":{"Person":"Jane King","type":"Wrong Screwdriver"},"2":{"Person":"John Doe","type":"Wrong Spanner"}}}
Run Code Online (Sandbox Code Playgroud)
这是正在检索json的ajax代码.
$.ajax({
dataType : 'json',
url: 'polling.php',
type: 'post',
data: 'id=1',
success: function(data) {
//read json
});
Run Code Online (Sandbox Code Playgroud)
我试图按照数字顺序读取所有'msg'.. 1,2 ..并获得每个的'Name'和'Said'值.
然后为'错误'做同样的事情
但我无法正确检索任何值
您如何获得对象的所有子节点的JSONPath?
例如:
var data = [{
"key1": {
"children": [{
"key2": "value",
"key3": "value",
"key4": {}
}, {
"key2": "value",
"key3": "value",
"key4": {}
}],
"key5": "value"
}
}, {
"key1": {
"children": {
"key2": "value",
"key3": "value",
"key4": {}
},
"key5": "value"
}
}]
Run Code Online (Sandbox Code Playgroud)
我希望将数据结构中所有节点的绝对路径作为数组:
[
"data[0]['key1']['children'][0]['key2']",
"data[0]['key1']['children'][0]['key3']",
"data[0]['key1']['children'][0]['key4']",
......,
"data[0]['key1']['children'][1]['key2']",
.......,
"data[1]['key1']['children']['key2']",
..........
]
Run Code Online (Sandbox Code Playgroud)
有没有办法在JS中完成这项工作?
我使用select2中的multiselect元素输入多个"标签".当我想从元素中获取值时,我得到类似这样的东西(对于我在框中输入的tag1 en tag2):
[{"id":"tag1","text":"tag1"},{"id":"tag2","text":"tag2"}]
Run Code Online (Sandbox Code Playgroud)
如何从数组中的文本中获取结果:
[0] = "tag1"
[1] = "tag2"
Run Code Online (Sandbox Code Playgroud)
我该如何扭转这一过程?
我想影响数组中的所有项目.最终结果将是decodeURIcomponent每个项目.
它不适合我,所以我决定更改每个项目的值来检查代码.它没有改变任何东西.
有没有更好的方法来做到这一点,因为真正的嵌套$.each函数对我来说似乎有点多余.
$(function() {
var hResponse = [];
hResponse.push("firstName", "lastName", "location");
var columns = [];
columns.push({
"firstName": "Edward",
"lastName": "Dane",
"location": " Here"
}, {
"firstName": "Arthur",
"lastName": "Dee",
"location": "There"
}, {
"firstName": "Cherry",
"lastName": "Red",
"location": "OverHere"
});
$.each(columns, function (key, value) {
$.each(value, function (key1, value2) {
value2 = "Meeeeep";
//value2 = decodeURIComponent(value2);
});
});
$('#my-table').dynatable({
dataset: {
records: columns
}
});
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link href="https://s3.amazonaws.com/dynatable-docs-assets/css/jquery.dynatable.css" rel="stylesheet"/>
<script src="https://s3.amazonaws.com/dynatable-docs-assets/js/jquery.dynatable.js"></script>
<table id="my-table"> …Run Code Online (Sandbox Code Playgroud)如何循环遍历 Jekyll 中 _data 文件夹中的每个文件?
目前,我在名为 sidebarlist.yml 的文件中有一个文件列表,如下所示:
- file1
- file2
- file3
Run Code Online (Sandbox Code Playgroud)
为了循环遍历所有这些文件,我使用以下代码:
{% for sidebar in site.data.sidebarlist %}
{% for entry in site.data.sidebars[sidebar].entries %}
...
{% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我想避免使用 sidebarlist.yml 并自动迭代 _data 中的所有文件。我可以这样做吗?
这是console.log 中显示的数据。
{"data":
[
{
"CloserName":null,
"agent_id":"10807",
"AgentName":"TEST",
"SurveyDate":"02/02/2018 02:18:46 AM",
"SurveyName":"Ruth ",
"state":"West Bengal",
"phone":"9836969715",
"status":"Approved",
"verification_progress":"Pending",
"survey_id":"1",
"rejection_remarks":"aa",
"tl_remarks":"Pending"
}
],
"count":1
}
Run Code Online (Sandbox Code Playgroud)
谁能帮我显示单个值(即survey_id)?我只是想拿那个survey_id
我有一个嵌套对象,我想将其展平/映射为单层的、类似表格的对象。
[{
a: 1,
b: 2,
c: [{
x: 10,
y: 20
}, {
x: 30,
y: 40
}]
}, {
a: 3,
b: 4,
c: [{
x: 50,
y: 60
}, {
x: 70,
y: 80
}]
}]
Run Code Online (Sandbox Code Playgroud)
由此,我想得到这样的东西:
[{
a: 1,
b: 2,
x: 10,
y: 20
}, {
a: 1,
b: 2,
x: 30,
y: 40
}, {
a: 3,
b: 4,
x: 50,
y: 60
}, {
a: 3,
b: 4,
x: 70,
y: 80
}] …Run Code Online (Sandbox Code Playgroud) 我遇到了一个有趣的问题,这让我陷入了困境。我正在执行一个 Sharepoint RestAPI 调用,该调用可以正确返回数据,当我对数据运行 for 循环时,它会构建出 html,但仍然会抛出我用作标题的错误。代码如下。如果我控制台记录每个循环,它将返回值。HTML 也可以正常工作。问题是错误仍然出现。
function getSlideData() {
var query = "$expand=AttachmentFiles&$select=Title,Team,State,Location,Hobbies,Favorite,Askme,GreatPlace,imageFact,ImageText,Attachments,AttachmentFiles&$expand=AttachmentFiles&$top=1000&$orderby=Created desc&$filter=Display eq 'Active'";
var svcUrl = SITE_URL + "_api/web/lists/getbytitle('"+LIST_NAME+"')/items?"+query;
var employeeData;
$.ajax({
url: svcUrl,
type: "GET",
headers: { "Accept": "application/json; odata=verbose" },
async: false,
success: function (data) {
employeeData = data.d.results;
},
error: function (xhr) {
alert("Can't get list items.", xhr.status + ": " + xhr.statusText);
}
});
return employeeData;
}
function buildSlides() {
var slideData = getSlideData();
var sliderWrapper = $('#slider-wrapper');
var sliderWrapperContent = …Run Code Online (Sandbox Code Playgroud) 我从http调用中收到一个JSON对象,我正在尝试从中提取值.JSON对象包含:
data:{"userid":"007", "role":"spy"}
Run Code Online (Sandbox Code Playgroud)
我使用以下代码将role属性分配给另一个变量,然后进行一些控制台日志检查:
currentUserRole = data.role;
console.log("type of data: "+typeof(data));
console.log("data: "+JSON.stringify(data));
console.log("user role: "+currentUserRole);
Run Code Online (Sandbox Code Playgroud)
原木产生:
type of data: object
data: [{"userid":"007", "role":"spy"}]
user role: undefined
Run Code Online (Sandbox Code Playgroud)
我还尝试了另一种分配方法:
currentUserRole = data['role'];
Run Code Online (Sandbox Code Playgroud)
但是currentUserRole仍未定义.如何将JSON对象的属性设置为变量?