Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们如何让JavaScript认为字符串是JSON?_Javascript_Jquery_Json_Ajax_Angular - Fatal编程技术网

我们如何让JavaScript认为字符串是JSON?

我们如何让JavaScript认为字符串是JSON?,javascript,jquery,json,ajax,angular,Javascript,Jquery,Json,Ajax,Angular,我有一个函数,它只有在JSON对象被传递给它时才起作用。如果我用与JSON相同的格式向它传递一个字符串,它将不起作用。所以我想让这个函数认为传递给它的字符串是JSON。字符串确实是JSON格式的 我还尝试了以下方法。我通过Ajax输入字符串,参数“handleas”为“JSON”,然后当我将结果传递给它工作的函数时 所以我推断问题不在于字符串。如何将此字符串转换为JSON?若我通过ajax请求获得相同的字符串,然后将其传递给函数,那个么就可以工作了,而直接传递则不起作用 控制台日志的屏幕截图:

我有一个函数,它只有在JSON对象被传递给它时才起作用。如果我用与JSON相同的格式向它传递一个字符串,它将不起作用。所以我想让这个函数认为传递给它的字符串是JSON。字符串确实是JSON格式的

我还尝试了以下方法。我通过Ajax输入字符串,参数“handleas”为“JSON”,然后当我将结果传递给它工作的函数时

所以我推断问题不在于字符串。如何将此字符串转换为JSON?若我通过ajax请求获得相同的字符串,然后将其传递给函数,那个么就可以工作了,而直接传递则不起作用

控制台日志的屏幕截图:


高级感谢

JavaScript是一种动态类型的语言,因此您不能预先指定函数参数的类型。如果你想那样,就调查一下

JSON只是一个字符串,而不是JavaScript中的独立类型。要将JavaScript对象转换为等效的JSON字符串表示,请使用:

const myJSON = JSON.stringify ({ a: 'b' })
要从JSON字符串获取JavaScript对象,请使用:

JSON.parse (myJSON)
通过网络时,如果您将类型指定为JSON,库可以自动返回序列化对象。您没有粘贴任何代码,因此我猜您没有在网络请求中指定
application/json
作为
Content-Type
。既然您已经标记了问题
jQuery
,请查看
[$.getJSON][2]
,这应该可以满足您的需要。

使用

function isJson(str) {
    try {
        JSON.parse(str);
    } catch (e) {
        return false;
    }
    return true;
}
示例:

函数isJson(str){
试一试{
JSON.parse(str);
}捕获(e){
返回false;
}
返回true;
}
str='{a:1,“b:2}';
console.log(isJson(str));//真的
str1='{[“a”:1,“b”:2]}';

console.log(isJson(str1));//false
当pass string引用此问题时,您将字符串解析为json的可能重复
,因此我推断问题不在于字符串
-您可能错了,因为如果字符串正是图像中显示为
json1
的字符串,那么这根本不是json-您的帖子怎么样,作为文本,您在@Jaromanda中遇到问题的确切字符串…请查找确切字符串。。。。{“你好”:“世界”、“地方”:[“非洲”、“美洲”、“亚洲”、“澳大利亚”]}您使用的这个函数是什么?“不起作用”是什么意思?