复杂的json解析

时间:2016-01-30 13:31:04

标签: c# json json.net json-deserialization

我有非常复杂的JSON字符串。我需要从列表,成本和不可用的每个节点中选择几个项目。但我不知道,我怎么能取出我想要的每一个元素。我正在使用JSON.NET.

Json内容:

{
  "parts": [
    {
      "1_0": {
        "added2cartStatus": 0,
        "unavailable": true,
        "originalQty": 0,
        "buyQty": {
          "100": 1,
          "101": 1,
          "102": 1,
          "103": 1,
          "108": 1,
          "109": 1,
          "111": 1,
          "112": 1,
          "113": 1
        },
        "nd": [
          {
            "100": {
              "price": {
                "list": "$80.58",
                "cost": "$52.65"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star PalmSpring",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "101": {
              "price": {
                "list": "$80.58",
                "cost": "$52.65"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Indio",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "102": {
              "price": {
                "list": "$80.58",
                "cost": "$52.65"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Metro SB",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "103": {
              "price": {
                "list": "$80.58",
                "cost": "$52.65"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Banning",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "108": {
              "price": {
                "list": "$80.58",
                "cost": "$52.65"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Yucaipa",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "109": {
              "price": {
                "list": "$80.58",
                "cost": "$52.65"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Redlands",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "111": {
              "price": {
                "list": "$80.58",
                "cost": "$52.65"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Riverside",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "112": {
              "price": {
                "list": "$80.58",
                "cost": "$52.65"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Blomington",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "113": {
              "price": {
                "list": "$80.58",
                "cost": "$52.65"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Chino",
              "deliveryDelay": "",
              "available": 0
            }
          }
        ],
        "perCarQty": 0,
        "uofm": {
          "100": "EA",
          "101": "EA",
          "102": "EA",
          "103": "EA",
          "108": "EA",
          "109": "EA",
          "111": "EA",
          "112": "EA",
          "113": "EA"
        },
        "sortRequired": false,
        "minQty": {
          "100": 1,
          "101": 1,
          "102": 1,
          "103": 1,
          "108": 1,
          "109": 1,
          "111": 1,
          "112": 1,
          "113": 1
        },
        "costToggleState": 0,
        "updatePartStatus": false,
        "buyInc": {
          "100": 1,
          "101": 1,
          "102": 1,
          "103": 1,
          "108": 1,
          "109": 1,
          "111": 1,
          "112": 1,
          "113": 1
        }
      }
    },
    {
      "2_0": {
        "added2cartStatus": 0,
        "unavailable": false,
        "originalQty": 0,
        "buyQty": {
          "100": 1,
          "101": 1,
          "102": 1,
          "103": 1,
          "108": 1,
          "109": 1,
          "111": 1,
          "112": 1,
          "113": 1
        },
        "nd": [
          {
            "100": {
              "selected": true,
              "price": {
                "list": "$20.22",
                "cost": "$9.23"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star PalmSpring",
              "deliveryDelay": "",
              "available": 1
            }
          },
          {
            "101": {
              "price": {
                "list": "$20.22",
                "cost": "$9.23"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Indio",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "102": {
              "price": {
                "list": "$20.22",
                "cost": "$9.23"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Metro SB",
              "deliveryDelay": "",
              "available": 2
            }
          },
          {
            "103": {
              "price": {
                "list": "$20.22",
                "cost": "$9.23"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Banning",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "108": {
              "price": {
                "list": "$20.22",
                "cost": "$9.23"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Yucaipa",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "109": {
              "price": {
                "list": "$20.22",
                "cost": "$9.23"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Redlands",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "111": {
              "price": {
                "list": "$20.22",
                "cost": "$9.23"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Riverside",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "112": {
              "price": {
                "list": "$20.22",
                "cost": "$9.23"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Blomington",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "113": {
              "price": {
                "list": "$20.22",
                "cost": "$9.23"
              },
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Chino",
              "deliveryDelay": "",
              "available": 0
            }
          }
        ],
        "perCarQty": 0,
        "uofm": {
          "100": "EA",
          "101": "EA",
          "102": "EA",
          "103": "EA",
          "108": "EA",
          "109": "EA",
          "111": "EA",
          "112": "EA",
          "113": "EA"
        },
        "sortRequired": true,
        "minQty": {
          "100": 1,
          "101": 1,
          "102": 1,
          "103": 1,
          "108": 1,
          "109": 1,
          "111": 1,
          "112": 1,
          "113": 1
        },
        "costToggleState": 0,
        "updatePartStatus": false,
        "buyInc": {
          "100": 1,
          "101": 1,
          "102": 1,
          "103": 1,
          "108": 1,
          "109": 1,
          "111": 1,
          "112": 1,
          "113": 1
        }
      }
    },
    {
      "3_0": {
        "added2cartStatus": 0,
        "unavailable": true,
        "originalQty": 0,
        "buyQty": {
          "100": 1,
          "101": 1,
          "102": 1,
          "103": 1,
          "108": 1,
          "109": 1,
          "111": 1,
          "112": 1,
          "113": 1
        },
        "nd": [
          {
            "100": {
              "pseudo": false,
              "sellDirect": false,
              "called": "Star PalmSpring",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "101": {
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Indio",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "102": {
              "pseudo": false,
              "sellDirect": false,
              "called": "Metro SB",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "103": {
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Banning",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "108": {
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Yucaipa",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "109": {
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Redlands",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "111": {
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Riverside",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "112": {
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Blomington",
              "deliveryDelay": "",
              "available": 0
            }
          },
          {
            "113": {
              "pseudo": false,
              "sellDirect": false,
              "called": "Star Chino",
              "deliveryDelay": "",
              "available": 0
            }
          }
        ],
        "perCarQty": 0,
        "uofm": {
          "100": "",
          "101": "",
          "102": "",
          "103": "",
          "108": "",
          "109": "",
          "111": "",
          "112": "",
          "113": ""
        },
        "sortRequired": false,
        "minQty": {
          "100": 1,
          "101": 1,
          "102": 1,
          "103": 1,
          "108": 1,
          "109": 1,
          "111": 1,
          "112": 1,
          "113": 1
        },
        "costToggleState": 0,
        "updatePartStatus": false,
        "buyInc": {
          "100": 1,
          "101": 1,
          "102": 1,
          "103": 1,
          "108": 1,
          "109": 1,
          "111": 1,
          "112": 1,
          "113": 1
        }
      }
    }
  ],
  "running": false
}

1 个答案:

答案 0 :(得分:0)

转到jsonutils.com,生成json类,从nugets项目下载newtonsoft并尝试使用json serialize方法。