当前位置: 首页 > 知识库问答 >
问题:

如何处理名称中带有@的属性

廉志强
2023-03-14

我面临Elasticsearch结果的问题,该结果在属性名称中使用@。json结果片段:

{“\u index”:“logs-2015.12.31”,“\u type”:“log”,“\u id”:“AVH4eA4QKV0mbJuiIHO1”,“\u score”:null,“\u source”:{“@timestamp”:“2015-12-31T14:36:35.378Z”,“beat”:{“hostname”:

我需要将其值解释为jquery代码。请参见代码段:

    case item._index.startsWith('logs-'):
        $('#results-list').append( '<a href="details.jsp?id=' + item._id + '" target="_blank" class="list-group-item">' 
            +    '<span class="label label-info">' + item._type + '</span>' 
            +    '<h4 class="list-group-item-heading">' + item._source.source + '</h4>' 
            +    '<p class="list-group-item-text">' + item._source.@timestamp + ' - ' + item._source.beat.name + '</p>'
            +    '<p class="list-group-item-text">' + item._source.message + '</p>'
            +  '</a>'

如果无法更改源,如何处理属性?

共有1个答案

潘修文
2023-03-14

不能在文本属性名称中使用字符,因此需要使用数组表示法来访问它:

item._source['@timestamp']
 类似资料:
  • 我在使用JsonPath检查字段前面带有命名空间的json时遇到麻烦。我无法从google中找到任何东西,也无法查看现有问题或留档。我无法让任何东西正常工作。我有以下json片段: 我正在尝试检查bb:list字段,看看其中有多少项。这个JsonPath表达式似乎不起作用: “$._embedded.bb:list” 如果我删除了“bb:”,那么使用它可以使用“$._embedded.list”,

  • 问题内容: 该问题旨在作为回答一个特殊问题的参考,该问题可能采用不同的形式: 我有一个XML文档,其中包含多个名称空间。如何使用SimpleXML解析它? 我的XML在标记名称中有一个冒号(“:”),如何使用SimpleXML访问它? 当名称中带有冒号时,如何访问XML文件中的属性? 如果您的问题已作为与此问题的重复而关闭,则该问题可能与这些示例不同,但是此页面应告诉您您需要知道的内容。 这是一个

  • 带有Spring-Data的JPA对名称中带有下划线“_”的属性有问题吗?这是我扩展的接口: 这一行:<code>findByA_my_table_id(长头id) 给出此错误: 无效的派生查询!没有为类型 MyClass 找到属性“a”! 如果我将方法命名为< code > public my class find bya _ my _ table _ id(Long header id);它给

  • 问题内容: 我有带有“ operation.date”,“ operation.name”等列的mysql表。用我获取该表数据作为对象后,得到此信息(行的print_r): 我怎么存取权限,并和所有其他古怪的命名对象的属性? 问题答案: 在您的SQL查询中指定别名,例如 或访问这些属性, 或将对象强制转换为数组,如下所示:。

  • 问题内容: 尝试反序列化此JSON: 我的课: 我猜因为它在我的班级中具有cumulative_stats变量名称,所以不会反序列化accurate-stats,如何用破折号反序列化那个东西? 问题答案: 一种替代方法是使用DataContractJsonSerializer而不是JavascriptSerializer。 如果您这样声明类: 您可以像这样反序列化: 将产生:

  • 问题内容: 我正在尝试反序列化JSON。我的根对象具有单个属性“ en.pickthall”。我正在使用动态类型读取JSON。我以为我可以取消“。” 在属性中,因为它是本地JSON文件,但是必须有某种方法可以访问此类属性 问题答案: C#没有任何引用标识符的方式。如果不是有效的标识符,则唯一的选择就是反射。 但是,您的JSON解串器返回的对象可能会更改了标识符,以使其在C#中可用- 您可能希望枚举