所以我有一个自动从xml文件转换的JSON,所有元素都以' - '开头。例如,name就是-name。
下面是示例代码:
"Object": {
"-color": "0xAAAAAA",
"-lineSize": "4",
"-letterSymbol": "L"
}
假设对象位于js中的变量对象中。有没有办法打电话 - >
object.-color
为了获得颜色?这种方法不起作用,但有没有其他选择或我需要更改JSON对象?
答案 0 :(得分:5)
改为使用括号表示法:
def approve
@approval = RegistryRequest.find(params[:id])
if @approval.update_attribute(:approved_at, Time.now)
flash[:notice] = "The vehicle was approved for the Registry."
redirect_to request.referer
else
flash[:error] = "There was an error approving the vehicle. Please try again."
end
end
正如您所发现的,带有object["-color"]
或其他符号的键会混淆javascript解析器。因此,除非您的密钥是完全字母数字,否则您将需要使用括号表示系统。
另外,如果您需要"向下钻取"然后你可以这样做:
-
答案 1 :(得分:2)
是的,这是有效的JSON,所以要回答标题中的问题,是的,名称可以以-
开头。根据{{3}},名称是一个字符串,它被定义为(部分)由"任何UNICODE字符" s组成。
要在您的情况下访问它,您需要使用括号表示法,而不是点符号:
object["-color"]