使用jint评估javascript对象
我使用jint解析javascript代码,以下js代码可以工作:使用jint评估javascript对象,javascript,.net,jint,Javascript,.net,Jint,我使用jint解析javascript代码,以下js代码可以工作: 1 [1] {} 但这一次失败了: {a:1} 出现此错误时: int.Parser.ParserException:第1行:意外标记: 位于Jint.Parser.JavaScriptParser.ThrowError(令牌、字符串messageFormat、对象[]参数) 位于Jint.Parser.JavaScriptParser.ThrowUnexpected(令牌) 在Jint.Parser.JavaScriptP
1
[1]
{}
{a:1}
出现此错误时:
int.Parser.ParserException:第1行:意外标记:
位于Jint.Parser.JavaScriptParser.ThrowError(令牌、字符串messageFormat、对象[]参数)
位于Jint.Parser.JavaScriptParser.ThrowUnexpected(令牌)
在Jint.Parser.JavaScriptParser.ConsumeSeminicolon()处
在Jint.Parser.JavaScriptParser.ParseStatement()中
在Jint.Parser.JavaScriptParser.ParseStatement()中
在Jint.Parser.JavaScriptParser.ParseSourceElement()中
在Jint.Parser.JavaScriptParser.ParseStatementList()中
在Jint.Parser.JavaScriptParser.ParseBlock()中
在Jint.Parser.JavaScriptParser.ParseStatement()中
在Jint.Parser.JavaScriptParser.ParseSourceElement()中
在Jint.Parser.JavaScriptParser.ParseSourceElements()中
在Jint.Parser.JavaScriptParser.ParseProgram()中
在Jint.Parser.JavaScriptParser.Parse(字符串代码,ParserOptions)
在Jint.Engine.Execute(字符串源代码)
我不想反序列化JSON文件,我想执行一个javascript对象,我希望有如下内容:
{
id: 'one',
code: function() { console.log('hello'); }
}
我注意到如果我这样做:
var x = {a: 1}
x
然后它就可以工作了,但我需要它在我的场景中是一个javascript对象
有没有办法做到这一点?
{a:1}
被解释为块语句而不是对象文本。解决方案是用括号括起来:
({ a: 1 })
{a:1}
被解释为块语句而不是对象文本。解决方案是用括号括起来:
({ a: 1 })
它可能将其解释为块而不是对象文字。试着用括号把它括起来,例如,
({a:1})
它可以工作!非常感谢。你能把你的答案贴出来让我接受吗?好的!我将添加它作为正确的答案,以便您可以解决此问题。由于您无法真正引用其中的方法/属性,因此不确定为什么要使用该格式。它可能将其解释为块而不是对象文字。试着用括号把它括起来,例如,({a:1})
它可以工作!非常感谢。你能把你的答案贴出来让我接受吗?好的!我将添加它作为正确的答案,以便您可以解决此问题。由于您无法真正引用其中的方法/属性,因此不确定为什么要以该格式开头。