[英]How can I convert JSON format file to JSON object?
我使用dojo request.get读取JSON格式的txt文件,但无法将其转换为JSON对象。 “ datagrid.txt”将一些数据存储为:
[
{"col1":"val1", "col2":"val2", "col3":"val3"},
{"col1":"val1", "col2":"val2", "col3":"val3"},
{"col1":"val1", "col2":"val2", "col3":"val3"}
]
请求的客户端代码如下:
require(['dojo/_base/lang', 'dojox/grid/DataGrid', 'dojo/data/ItemFileWriteStore', 'dojo/dom', 'dojo/request', 'dojo/domReady!'],
function(lang, DataGrid, ItemFileWriteStore, dom, request){
request.get("datagrid.txt",{
// Parse data from JSON to a JavaScript object
handleAs: "json"
}
).then(
function(text){
var datalist = JSON.stringify(text);
for(var i = 0, l = 16; i < l; i++){
console.log( datalist[i] );
}
});
console.log以字符串形式显示内容(例如“ [”,“ {”),而不是我期望的数组形式({“ col1”:“ val1”,“ col2”:“ val2”,“ col3”:“ val3“}),我可以用来填充dojo datagrid数据存储。
Dojo可以自己处理JSON格式。 官方文档
我认为您的问题在于您编写datagrid.txt的方式以及稍后尝试读取数据的样式。
这是我的解决方案:
require(['dojo/_base/lang', 'dojox/grid/DataGrid', 'dojo/data/ItemFileWriteStore',
'dojo/dom', 'dojo/request', 'dojo/domReady!'],
function(lang, DataGrid, ItemFileWriteStore, dom, request){
request.get("datagrid.txt",{
// Parse data from JSON to a JavaScript object
handleAs: "json"
}
).then(
function(text){
var datalist = [];
dojo.forEach(text,function(thisText,i){
//add each single Object from the datagrid.txt to datagrid-array
datalist.push(thisText);
//alert the newly added item in datagrid
console.log(datalist);
});
});
我认为这应该可以解决您的问题。 此致Miriam
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.