【问题标题】:Angular JS object key value - key prefixed with "@"Angular JS 对象键值 - 以“@”为前缀的键
【发布时间】:2014-12-15 23:39:45
【问题描述】:

我已使用 c# 将 xml 文档序列化为 json。我使用了 Newtonsoft 库,并且在序列化 xml 元素时,它使用“@”作为前缀和 xml 元素属性。

这个 json 是从 Angular JS 中的 $http 服务调用的,然后这个 json 被转换成一个 angular 对象。

可能值得知道的是,因为它是一个键值,所以 json 最初是一个对象:

{"story": {  "@title": "The Title",  "noOfPages": "6" } }

但是,当我使用 angular 获取该属性的值时,例如:

{{ story.@title }}

它不喜欢以“@”为前缀的对象属性。

我有几个问题:

  1. 我可以使用带有@前缀的对象键来获得角度吗?
  2. 您知道一个正则表达式可以从 json 字符串的所有键(在键值对象中)中删除“@”吗?例如 - { @title : "TITLE", @subtitle : "SUBTITLE" } 会变成 { title : "TITLE", subtitle : "SUBTITLE" }?
  3. 是否有一个设置可以传递给 Newtonsoft Serializer,它不会在 xml 属性前面加上 @?

【问题讨论】:

  • 使用不带@ 符号的{{title}} .. 还有你的代码是什么样的......看看一些角度教程,特别是关于ng-binding @987654321 的部分@
  • 我已经构建了一个指令,它将键/值作为属性。我已经弄清楚了我需要做什么,我会在今天的某个时候发布答案。另外,仅仅使用 {{title}} 是行不通的,因为键是 @title...
  • 投反对票,呃,为什么?

标签: c# xml angularjs json.net


【解决方案1】:

我必须将对象的属性键放在方括号中,如下所示:

{{ story["@title"] }}

【讨论】:

    猜你喜欢
    • 2017-08-15
    • 2016-09-03
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-17
    • 2021-12-15
    相关资源
    最近更新 更多