list]
如何将Json里的数组一次全部遍历出来, 现在是一个小小的例子,请参考
如果想精通JSon 到官方
http://www.json.org
[/list]
function loopJson() {
var results = {"d":[{"__type":"FluentWeb.DTO.EmployeeOrder",
"EmployeeName":"Janet Leverling",
"EmployeeTitle":"Sales Representative",
"RequiredDate":"\/Date(839224800000)\/",
"OrderedProducts":null}]}
var result = [ {"id":1,"name":"zhangsan",
"address":{"homeAddress":"beijing",
"companyAddress":"shanghai"},
"friends":[{"id":5,"name":"zhangsan\u0027s friend1"},
{"id":6,"name":"zhangsan\u0027s friend2"}]
},
{"id":2,"name":"lisi","address":{"homeAddress":"liaoning","companyAddress":"fujian"},
"friends":[{"id":10,"name":"lisi\u0027s friend1"},
{"id":11,"name":"lisi\u0027s friend2"}]
}
];
for (var i = 0; i < result.length; i++) {
for (var prop in result[i]) {
if(typeof result[i][prop] == 'object') {
loopJSONData(result[i][prop]);
}else {
alert(result[i][prop]);
}
}
}
}
function loopJSONData(result) {
for(var prop in result) {
if(typeof result[prop] == 'object') {
loopJSONData(result[prop]);
}else {
alert(result[prop]);
}
}
}
<body id="theBody">
<input type="button" value="loopJson " onclick="loopJson()">
</body>
[***********************************************************]
/**
* The method resolving json result data.
* Only get requests call it.
* Invoke this method require comply json reference:
* [{key: value} , {key : value, object : [{key : value.......}]}, {key : value}........]
*/
function getRequestJson(url, header, elementId) {
$.getJSON(url,function(results, status){
if("success" == status){
loopJSONData(results, header, elementId);
}
});
}
/**
* The method resolving json result data.
* Only post requests call it.
* Invoke this method require comply json reference:
* [{key: value} , {key : value, object : [{key : value.......}]}, {key : value}........]
*/
function postRequestJson(url, header, elementId) {
$.post(url,{}, function(returnedData, status) {
if("success" == status) {
loopJSONData(results, header, elementId);
}
});
}
function loopJSONData(results, header, elementId) {
var html = "<table width='100%' border = '1' align='left' id='jsonTable'>";
html += createHeader(header);
var k = 0;
var n = 0;
for (var i = 0; i < results.length; i++) {
html += "<tr>";
for (var prop in results[i]) {
if(typeof results[i][prop] == 'object') {
if(results[i][prop].constructor == Array && typeof results[i][prop] == 'object') {
html += loopJsonChildArray(results[i][prop]);
}else {
html += loopJSONChildObject(results[i][prop])
}
}else {
html += "<td>"+results[i][prop]+"</td>";
}
}
html += "</tr>";
}
html += "</table>";
$("#"+elementId+"").append(html);
}
function loopJSONChildObject(results) {
var html = "";
for(var prop in results) {
if(typeof results[prop] == 'object') {
html += loopJSONChildObject(results[prop]);
}else {
html += "<td>"+results[prop]+"</td>";
}
}
return html;
}
function loopJsonChildArray(results) {
var html = "";
for(var i = 0; i < results.length; i++ ) {
html += "<tr>";
for(var prop in results[i]) {
if(typeof results[i][prop] == 'object') {
if(results[i][prop].constructor == Array) {
html += loopJSONChildObject(results[i][prop]);
}else {
html += loopJSONChildObject(results[i][prop]);
}
}else {
html += "<td>"+results[i][prop]+"</td>";
}
}
html += "</tr>";
}
return html;
}
分享到:
相关推荐
例如,你可以使用`JsonObject& createObject()`创建一个新的JSON对象,使用`JsonArray& createArray()`创建一个JSON数组,以及`void add(const char* key, const T& value)`来添加键值对。对于数组,你可以使用`void...
最小、最快的Flex转换JSON的工具包 private function init():void { var simpleJSON:String = "{\"name\":\"wayne\",\"value\":1000.0}"; var jObj:Object = JParser.decode(simpleJSON); } ====...
json_traversal_loop(json_obj) ``` 在这两种方法中,循环版本可能更易于理解和控制,特别是在处理大型嵌套数据结构时,避免了深度递归可能引发的栈溢出问题。 总之,循环和递归各有优缺点,根据具体场景选择合适...
QByteArray array = document.toJson(QJsonDocument::Compact); // 发送请求 QNetworkAccessManager manager; QNetworkReply *reply = manager.post(request, array); // 处理响应 QEventLoop eventLoop; QObject:...
- **变量与数据类型**:JavaScript是动态类型语言,支持var、let和const声明变量,以及基本数据类型(如String、Number、Boolean、Null、Undefined)和复杂数据类型(如Object、Array)。 - **作用域与闭包**:...
var是全局范围的,您可以使用let Array.isArray(array)array.indexOf('number')重新分配值 对象文字是键==值对对象数组,例如 const todos = [{{id:1,text:'我的名字是texr',isComplete:false},{id:1,...
$json_data = array('id' => 1, 'name' => "John", 'country' => 'Canada', "work" => array("Google", "Oracle")); echo json_encode($json_data); $json_string = '{"id":1,"name":"John","country":"Canada",...
suggestions = Array() Do Until rs.EOF suggestions.push(rs("Term")) rs.MoveNext Loop rs.Close conn.Close response.Write JSON.stringify(suggestions) %> ``` 这段代码连接到数据库,执行SQL查询...
10. **ES5.1和5.2的新特性**:例如`Array.prototype.forEach()`, `Array.prototype.map()`, `Function.prototype.bind()`, `Object.keys()`, `JSON.parse()`和`JSON.stringify()`等。 11. **API帮助**:由于标签中...
7. 高阶函数(Higher-Order Functions):介绍抽象化(Abstraction)、抽象化数组遍历(Abstracting array traversal)、传递参数(Passing along arguments)、JSON的使用、数组过滤(Filtering an array)、映射...
- **Loop Constructs:** Explanation of loop constructs like `for`, `while`, `do-while`, and `foreach` for iterating over blocks of code. - **Nested Control Structures:** Discussion on nesting control ...
- **复杂数据类型**: 如 `ARRAY`, `JSON`, `HSTORE` 等。 **1.5 PostgreSQL 的运算符及其使用** - **逻辑运算符**: 包括 `AND`, `OR`, `NOT`。 - **比较运算符**: 包括 `=`, `, `>`, `, `>=`, `<>`。 - **数学...
2. **游戏循环(Game Loop)**:游戏的核心在于游戏循环,这是处理用户输入、更新游戏状态和渲染画面的关键部分。在CrazyAlpha的源码中,我们可以找到这个循环的实现,学习如何有效地同步游戏时间和处理帧率。 3. *...
Fetch API使用Promise处理异步操作,提供了更加简洁和灵活的接口,如`fetch(url).then(response => response.json())`,这使得获取和解析JSON数据变得更加容易。 此外,还有Event Loop和Async/Await等高级概念,...
- 数组(Array):线性数据结构,支持索引访问和各种操作,如插入、删除、合并等。 - 哈希(Hash):键值对存储,提供了快速查找功能,键可以是任何对象。 - 符号(Symbol):不可变的哈希键,用于节省内存。 - ...
为了处理异步操作,JavaScript 引入了事件循环(Event Loop)机制。事件循环包括以下几个关键部分: 1. **调用栈(Call Stack)**:存放函数调用,按照先进后出(LIFO)原则执行。 2. **任务队列(Task Queue)**:...
在学习JavaScript时,你还需要了解浏览器环境下的运行机制,如Event Loop和Callback Queue,以及Node.js环境下JavaScript的运行方式。此外,学习常见的JavaScript库和框架,如jQuery、React、Vue或Angular,将有助于...
atom-shell 通过集成 libuv loop 和 平台的 message loop 避免给 Chromium 打补丁。 4. Multi-context Node-Webkit 创造了 Node context 和 web context 的概念,而 atom-shell 没有引入新的 context,而是...
此命令会将KindEditor添加到项目的`node_modules`目录下,并自动将其版本记录在`package.json`文件中。 #### 三、创建组件 接下来,我们需要创建一个名为`kindeditor.vue`的Vue组件来封装KindEditor的功能。以下是...