我一直在尝试将JSON文件中的数据存储到变量中 Javascript和一切都很好,直到JSON.parse函数不起作用。
我的文件名为test.json,它看起来像这样:
{
test: 'Hello World!'
}
我也尝试将其更改为:
{ test: 'Hello World' }
我的javascript代码是这样的:
var a = OwNet.get( 'core/config/test.json', function( Res ) {
// Res is the response from an AJAX request (where i requested the test.json file)
if( Res !== "" && Res !== undefined && Res !== null ) {
// Here i tried to replace the line breaks, carriage returns and spaces. It failed.
// (I also tried to remove it)
Res.replace( /\r\n|\r|\n|\s*/gm, "" );
// Here i tried to transform Res in an object
tmp = JSON.stringify( Res );
return JSON.parse( tmp ); // This returns a string instead an object
} else return null;
});
唯一的问题是变量' a'不是一个对象,而是一个字符串,我一直在寻找答案,但我无法做到。
答案 0 :(得分:6)
您的JSON无效,请更改为
{
"test": "HelloWorld!"
}
答案 1 :(得分:0)
答案 2 :(得分:0)
非常感谢大家,答案比我想象的要容易:
文件test.json:
{
"test": "Hello World!"
}
代码:
var a = OwNet.get( 'core/config/test.json', function( Res ) {
// Res is the response from an AJAX request (where i requested the test.json file)
if( Res !== "" && Res !== undefined && Res !== null ) {
// Replacing the line breaks, carriage returns and spaces
Res = Res.replace( /\r\n|\r|\n|\s*/gm, "" );
// Erased the JSON.stringify and replaced tmp by Res
return JSON.parse( Res );
} else return null;
});
答案 3 :(得分:0)
{ "test": "Hello World!" }
,测试是一个字符串,需要像那样呈现。