【发布时间】:2019-10-11 17:55:56
【问题描述】:
我有一个我正在尝试解析的 JSON 字符串:
[{u'OrderItem': {u'OrderItemId': u'123456789', u'Title': u'Product Title', u'QuantityShipped': u'0', u'IsTransparency': u'false', u'QuantityOrdered': u'1', u'ItemTax': {u'CurrencyCode': u'USD', u'Amount': u'0.00'}, u'ASIN': u'123456789', u'SellerSKU': u'BBB-123456789', u'ConditionSubtypeId': u'New', u'ConditionId': u'New', u'PromotionDiscountTax': {u'CurrencyCode': u'USD', u'Amount': u'0.00'}, u'TaxCollection': {u'Model': u'MarketplaceFacilitator', u'ResponsibleParty': u'Random Services, Inc.'}, u'PromotionDiscount': {u'CurrencyCode': u'USD', u'Amount': u'0.00'}, u'ItemPrice': {u'CurrencyCode': u'USD', u'Amount': u'100.35'}, u'ProductInfo': {u'NumberOfItems': u'1'}, u'IsGift': u'false'}}]
我不知道为什么,但是 JSON 的每个部分都以字母“u”为前缀,我不确定我能做些什么来解析它。
我在网上看到,在 python 中这是正常的,但在 rails 中我只是得到一个错误,有什么方法可以将它解析成 JSON?
【问题讨论】:
-
可以先去掉u,再解析?
-
删除
us 仍然不会产生有效的 JSON。 JSON 不允许单引号。您从哪里获得这些数据? -
@ricks 我会说你应该 gsub
{u'和\su'(空格 +u),否则如果字符串以u结尾,它将删除它。如果文档没有双引号,我认为我所描述的方法是安全的,因为'永远不会出现在字符串中,它需要被转义\'跨度> -
.gsub("'",'"')虽然有点冒险。如果字符串包含"字符怎么办? -
@max 我向他们的支持发送了同样的问题
标签: ruby-on-rails json ruby