Json解析器错误? Amazon API错误的JSON响应?

时间:2015-01-12 20:12:24

标签: java json parsing amazon-web-services

所以这是我用来解析产品库存的亚马逊JSON响应的代码。

 ListInventorySupplyResponse response = client.listInventorySupply(request);
  ResponseHeaderMetadata rhmd = response.getResponseHeaderMetadata();

  String responseJSON = response.toJSON();
  JSONParser parser = new JSONParser();

  try {
                json = (JSONObject) parser.parse(responseJSON);

它工作了一个星期,然后我今天收到了这个错误。

Unexpected token VALUE(-1) at position 5948.

查看响应JSON。我把它放在JSON验证器(http://jsonlint.com/

中 jsonlint告诉我,我得到的回答是不正确的json!这是错误

  {
                    "SellerSKU": "zz",
                    "FNSKU": "B006T5BLTO",
                    "ASIN": "B006T5BLTO",
                    "Condition": "NewItem",
                    "TotalSupplyQuantity": 92,
                    "InStockSupplyQuantity": 44,
                    "EarliestAvailability": {
                        "TimepointType": "DateTime",
                        "DateTime": 2015-01-13T09: 00: 00Z
                    },
                    "SupplyDetail": {
                        "member": [

                        ]
                    }
                },
                {
                    "SellerSKU": "yyC",
                    "FNSKU": "B00IHMDJ7Y",
                    "ASIN": "B00IHMDJ7Y",
                    "Condition": "NewItem",
                    "TotalSupplyQuantity": 63,
                    "InStockSupplyQuantity": 63,
                    "EarliestAvailability": {
                        "TimepointType": "Immediately"
                    },
                    "SupplyDetail": {
                        "member": [

                        ]
                    }
                },

    Parse error on line 398:
  ...    "DateTime": 2015-01-13T09: 00: 00Z 
     ----------------------^
    Expecting '}', ',', ']'

正如您所看到的,由于某些原因,大多数产品都可以立即使用,但其中一个产品不可用,亚马逊向我发送了“日期时间”。但是,他们没有将日期时间放在引号中,使其成为无效的JSON。

是我吗?是他们吗?我该如何处理呢我的程序不需要这部分JSON,但我不知道如何取出这个字段或告诉解析器“跳过它”,以便它可以解析其余的字段减去这个我不关心的错误字段

谢谢!

0 个答案:

没有答案