c# - 获取 JSON 子元素值

标签 c# .net json

我正在尝试从这个 JSON 中获取 spuCode:

{
  "msg": "success",
  "state": 0,
  "data": {
    "result": {
      "spuCode": "541426110605",
      "productName": "纯黑色斜纹面料铅笔裤百搭大码小脚裤弹力打底裤休闲裤子女",
      "productTitle": null,
      "spuImgs": [
        "https://cbu01.alicdn.com/img/ibank/2016/276/468/3618864672_1742354982.jpg",
        "https://cbu01.alicdn.com/img/ibank/2016/793/372/3617273397_1742354982.jpg",
        "https://cbu01.alicdn.com/img/ibank/2016/726/552/3617255627_1742354982.jpg",
        "https://cbu01.alicdn.com/img/ibank/2017/521/101/4624101125_1742354982.jpg",
        "https://cbu01.alicdn.com/img/ibank/2017/070/749/4580947070_1742354982.jpg"
      ],
      "upAndDown": 1,
      "updateTime": 1537096913958,
      "platform": "ALIBABA",
      "skus": [
        {
          "skuCode": "3488434133172",
          "sellPrice": 3900,
          "sellableNum": 905,
          "productProps": [
            {
              "propId": 7590793702270582000,
              "valueId": 5453504708925905000,
              "propName": "颜色",
              "valueName": "纯黑色(相同面料)"
            },
            {
              "propId": 9000005669393888000,
              "valueId": 6217370164147047000,
              "propName": "尺码",
              "valueName": "XXL"
            }
          ],

如您所见,父级 data 和子级 result 所以我添加了这段代码:

string sp = "";
var obj = Newtonsoft.Json.Linq.JObject.Parse(responseFromServer);
foreach (JObject child in obj["data"]["result"].OfType<JObject>())
{
    sp = child["spuCode"].ToString();
    MessageBox.Show(sp);
}

但它永远不会触发 MessageBox.Show 我在这里错过了什么?

最佳答案

result 不是数组,因此不需要 foreach

像这样尝试 SelectToken 方法:

var spuCode = (string)obj.SelectToken("data.result.spuCode");

关于c# - 获取 JSON 子元素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52353980/

相关文章:

c# - 在 C# 中获取组合框的文本后,如何在单词中间添加特殊字符?

c# - LINQ 与常规枚举

jquery - JSON 数组没有 key ?

JAVA试图寻找年度最佳职位。不工作

c# - 最新版本的 Unity 和 Google 无法生成 APK 构建并显示 Android Manifestation 脚本错误

c# - Asp.net中的Email Delivery Message(如何查看邮件是否发送?)

c# - Process.Start() 和用户模拟

c# - 接收数据是否有轻微延迟(使用任何 .NET tcp 套接字协议(protocol))

javascript - 如何将Python创建的JSON数据发送到JavaScript?

c# - 如何在 ASP.NET 应用程序中序列化异常?