在数组周围解析没有方括号的JSON

时间:2013-11-27 03:52:20

标签: json parsing

我需要解析一个实时Feed,但每个数组都没有括号,所以我有点困惑。它也是有效的JSON,因为我使用在线服务进行检查。我想指定上下文然后获取数据。有谁知道我怎么做这个以及上下文可能是什么?

在这种情况下,我想要“名称”,“竞争对手”和其他一些领域。任何帮助都感激不尽。

{
"604377": {
    "competitors": {
        "3521278": {
            "Name": "Brazil",
            "Jockey": null,
            "Weight": null,
            "Saddle": 0,
            "Barrier": null,
            "QLDWin": 0,
            "VICWin": 0,
            "NSWWin": 0,
            "QLDPlace": 0,
            "VICPlace": 0,
            "NSWPlace": 0,
            "DetailedPricing": {
                "winTotePlus": false,
                "placeTotePlus": false,
                "topFluc": false,
                "bestOfBest": false,
                "bestOrSP": false,
                "fixedOdds": false,
                "fixedWin": true,
                "doubleFixedWin": 0,
                "bestOfEverythingWin": 0,
                "bestAnytimeWin": 0,
                "fixedPlace": true,
                "startPriceGuarantee": 0,
                "fixedEachWay": true,
                "placePrices": [
                    0
                ],
                "startPrice": false,
                "internationalStartPrice": false,
                "midToteWin": false,
                "midTotePlace": true,
                "topToteWin": true,
                "topTotePlace": false,
                "top2ToteWin": false,
                "top2TotePlace": false,
                "vicToteWinPlus1": false,
                "vicTotePlacePlus1": false,
                "vicToteWinPlus2": false,
                "vicTotePlacePlus2": false,
                "vicToteWinPlus5": false,
                "vicTotePlacePlus5": false,
                "vicToteWinPlus10": false,
                "vicTotePlacePlus10": false,
                "exoticBet": true,
                "exoticMidTote": false,
                "exoticBest2Tote": false,
                "exoticBest3Tote": false,
                "pickYourOdds": false,
                "firstfour": true,
                "midToteWinPrice": 0,
                "midTotePlacePrice": 0,
                "topToteWinPrice": 0,
                "top2ToteWinPrice": 0,
                "top2ToteOrSPWinPrice": 0,
                "vicToteWinPlus1Price": 0,
                "vicToteWinPlus2Price": 0,
                "vicToteWinPlus5Price": 0,
                "vicToteWinPlus10Price": 0,
                "topTotePlacePrice": 0,
                "top2TotePlacePrice": 0,
                "vicTotePlacePlus1Price": 0,
                "vicTotePlacePlus2Price": 0,
                "vicTotePlacePlus5Price": 0,
                "vicTotePlacePlus10Price": 0,
                "topFlucPrice": 0,
                "lastFlucPrice": 0,
                "bestOfBestPrice": 0,
                "bestOrSPPrice": 0,
                "bestOrSPPlacePrice": 0.75,
                "winDeduction": 0,
                "placeDeduction": 0,
                "competitor": 11863763,
                "sport": "Soccer",
                "saddle": 0,
                "description": "Brazil 2014 - World Cup Winner ",
                "team": "Jordan",
                "win": 0,
                "place": 0,
                "numOutcomes": 24,
                "numPlacings": 1,
                "numWinners": 1
            },
            "Scratched": "no",
            "RisaSilkID": null
        },
        "3521279": {
            "Name": "Argentina",
            "Jockey": null,
            "Weight": null,
            "Saddle": 0,
            "Barrier": null,
            "QLDWin": 0,
            "VICWin": 0,
            "NSWWin": 0,
            "QLDPlace": 0,
            "VICPlace": 0,
            "NSWPlace": 0,
            "DetailedPricing": {
                "winTotePlus": false,
                "placeTotePlus": false,
                "topFluc": false,
                "bestOfBest": false,
                "bestOrSP": false,
                "fixedOdds": false,
                "fixedWin": true,
                "doubleFixedWin": 0,
                "bestOfEverythingWin": 0,
                "bestAnytimeWin": 0,
                "fixedPlace": true,
                "startPriceGuarantee": 0,
                "fixedEachWay": true,
                "placePrices": [
                    0
                ],
                "startPrice": false,
                "internationalStartPrice": false,
                "midToteWin": false,
                "midTotePlace": true,
                "topToteWin": true,
                "topTotePlace": false,
                "top2ToteWin": false,
                "top2TotePlace": false,
                "vicToteWinPlus1": false,
                "vicTotePlacePlus1": false,
                "vicToteWinPlus2": false,
                "vicTotePlacePlus2": false,
                "vicToteWinPlus5": false,
                "vicTotePlacePlus5": false,
                "vicToteWinPlus10": false,
                "vicTotePlacePlus10": false,
                "exoticBet": true,
                "exoticMidTote": false,
                "exoticBest2Tote": false,
                "exoticBest3Tote": false,
                "pickYourOdds": false,
                "firstfour": true,
                "midToteWinPrice": 0,
                "midTotePlacePrice": 0,
                "topToteWinPrice": 0,
                "top2ToteWinPrice": 0,
                "top2ToteOrSPWinPrice": 0,
                "vicToteWinPlus1Price": 0,
                "vicToteWinPlus2Price": 0,
                "vicToteWinPlus5Price": 0,
                "vicToteWinPlus10Price": 0,
                "topTotePlacePrice": 0,
                "top2TotePlacePrice": 0,
                "vicTotePlacePlus1Price": 0,
                "vicTotePlacePlus2Price": 0,
                "vicTotePlacePlus5Price": 0,
                "vicTotePlacePlus10Price": 0,
                "topFlucPrice": 0,
                "lastFlucPrice": 0,
                "bestOfBestPrice": 0,
                "bestOrSPPrice": 0,
                "bestOrSPPlacePrice": 0.75,
                "winDeduction": 0,
                "placeDeduction": 0,
                "competitor": 11863763,
                "sport": "Soccer",
                "saddle": 0,
                "description": "Brazil 2014 - World Cup Winner ",
                "team": "Jordan",
                "win": 0,
                "place": 0,
                "numOutcomes": 24,
                "numPlacings": 1,
                "numWinners": 1
            },
            "Scratched": "no",
            "RisaSilkID": null
        },
        "3521280": {
            "Name": "Spain",

1 个答案:

答案 0 :(得分:1)

您尚未指定要执行此操作的语言/平台。我将假设.NET ...

http://www.nuget.org/packages/newtonsoft.json/

        WebRequest request = WebRequest.Create(query);
        using (var response = request.GetResponse())
        {
            using (var responseStream = response.GetResponseStream())
            {
                using (var streamReader = new StreamReader(responseStream))
                {
                    try
                    {
                        JsonReader reader = new JsonTextReader(streamReader);
                        dynamic result = JObject.Load(reader);

.NET和其他平台还有很多其他JSON解析器