【问题标题】:json and jquery to extract a @string [duplicate]json和jquery提取@string [重复]
【发布时间】:2012-06-13 16:26:33
【问题描述】:

可能重复:
Accessing Json fields with weird characters
Parsing JSON w/ @ symbol in it

大家好,这是我第一次来这里,对不起我的英语 所以我从 json 结果中提取字符串时遇到问题,字符串看起来像这样@string。这是结果格式的示例

"RateInfo": {
            "@priceBreakdown": "true",
            "@promo": "false",
            "@rateChange": "false",
            "ChargeableRateInfo": {
                "@averageBaseRate": "93.33",
                "@averageRate": "93.33",
                "@commissionableUsdTotal": "93.33",
                "@currencyCode": "USD",
                "@maxNightlyRate": "93.33",
                "@nightlyRateTotal": "93.33",
                "@surchargeTotal": "16.33",
                "@total": "109.66",
                "NightlyRatesPerRoom": {

我需要拿出一个@total。请帮忙

【问题讨论】:

  • 你为什么要发送看起来是 json 格式的 XML 数据?

标签: jquery json


【解决方案1】:

假设您已经将 JSON 字符串解析为 JavaScript 对象,例如:

var obj = JSON.parse(jsonString);

然后你可以像往常一样简单地访问@total 属性:

var total = obj.RateInfo.ChargeableRateInfo["@total"];

请注意,您必须使用方括号来访问 @total 属性,因为 @ 字符在 JavaScript 标识符中无效。

【讨论】:

  • 我不明白 parsed 是我如何调用 json 的方式?
  • 调用 json 响应使用 curl PHP,而不是尝试使用 jquery json 打印它,如下所示:
  • $.each(data, function(){
  • 谢谢 James Allardice 我有关于 JSON.parse 的检查信息,我会说关于 gracias
【解决方案2】:

为什么不将 XML 作为 XML 发送,而不是将其转换为 JSON?

<RateInfo priceBreakdown="true" promo="false" rateChange="false">
     <ChargeableRateInfo averageBaseRate="93.33" averageRate="93.33"
              commissionableUsdTotal="93.33" currencyCode="USD"
              maxNightlyRate="93.33"  nightlyRateTotal="93.33"
              surchargeTotal="16.33" total="109.66">
         <NightlyRatesPerRoom>
               ...
         </NightlyRatesPerRoom>
    </ChargeableRateInfo>
</RateInfo> 

【讨论】:

  • 坦克 user566527 但我尝试使用 json 比 xml 更快我已经知道如何使用 xml
  • @user1447313:你确定 json 比 XML 快吗?一个 json 编码的 xml 数据包与原始 XML 的大小差不多。
  • 是的,但使用了很多数组和函数 foreach...json 来得更快...也许我不习惯它
猜你喜欢
  • 2021-02-15
  • 1970-01-01
  • 2015-12-22
  • 1970-01-01
  • 2022-01-21
  • 2016-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多