Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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 - Fatal编程技术网

在JavaScript中一次调用中打印JSON路径和变量结果

在JavaScript中一次调用中打印JSON路径和变量结果,javascript,Javascript,是否可以像这样记录console.log: console.log(JSON.parse('{"myparent":{"myChildData": 5}}').myParent.myChildData); myParent.myChildData(5) (变量文字名称+括号中的值) 从JSON对象,例如: {myParent:{myChildData:5}} 我希望只引用对象符号一次。比如: console.log(printExpression(myParent.myChildData))

是否可以像这样记录console.log:

console.log(JSON.parse('{"myparent":{"myChildData": 5}}').myParent.myChildData);
myParent.myChildData(5)
(变量文字名称+括号中的值)

从JSON对象,例如:

{myParent:{myChildData:5}}

我希望只引用对象符号一次。比如:

console.log(printExpression(myParent.myChildData))


其中printExpression我当然很高兴成为一个可以返回这个的通用帮助函数。我已经搜索了上下,但显然printExpression收到了实际的计算值,这会造成一个障碍。

您可以使用
JSON.parse(jsonString)
将JSON转换为JavaScript对象

您可以将其存储为变量,然后
console.log

或者您可以直接
console.log
这样记录传递的数据:

console.log(JSON.parse('{"myparent":{"myChildData": 5}}').myParent.myChildData);

编辑 在理解了helper函数的具体功能之后,我创建了一个
printExpression
函数,它根据您的示例返回字符串值

函数printExpression(对象,stringBefore){
//递归地使用键作为方法生成对象
让newObject={};
for(对象中的变量键){
//确保对象上存在密钥
if(object.hasOwnProperty(key)){
让值=对象[键];
//如果该值是一个对象,只需添加一个返回该对象的get方法
if(类型(值)=“对象”){
让childObject=printExpression(值,键+”);
newObject[key]=childObject;
}
//如果不是,则创建一个返回所需语法的方法
否则{
//根据特定语法形成字符串
设str=key+“(“+value+”);
//检查是否应在之前添加字符串
如果(之前){
str=stringBefore+str;
}
newObject[key]=str;
}
}
}
//返回新对象
返回newObject;
}
var-example=printExpression(JSON.parse('{“myParent”:{“myChildData”:5}}');

log(例如.myParent.myChildData)也许:是的,变量的名称,正如链接上的文本所说,已经无法挽回地丢失了。所以不要认为这是可能的。谢谢分享。谢谢,但是你在指定myparent和myChildData时加倍了努力。这样就不会飞了。干杯。你能解释一下你到底想做什么吗?您想创建一个返回
5
(基于您给出的示例)的助手函数吗?我想打印这个。不是它的结果,而是字面意思:
myParent.myChildData(5)
类似于
console.log(helper[myParent].myChildData])
可以吗?如果是,那么我知道一种让助手发挥作用的方法。