Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 修改json的结构_Javascript_C#_Json - Fatal编程技术网

Javascript 修改json的结构

Javascript 修改json的结构,javascript,c#,json,Javascript,C#,Json,我试图用json修改以下文本。以下链包含以下结构: { "cabecera": { "tipo_cambio": "", "fecha_emision": "", "total": "" }, "detalle": { "940b130369614bd6b687dc5b41623439": { "producto": "94115891", "detalle_adicional": "", "cantidad":

我试图用json修改以下文本。以下链包含以下结构:

  {
  "cabecera": {
    "tipo_cambio": "",
    "fecha_emision": "",
    "total": ""
  },
  "detalle": {
    "940b130369614bd6b687dc5b41623439": {
      "producto": "94115891",
      "detalle_adicional": "",
      "cantidad": "",
      "precio_unitario": "",
      "subtotal": "",
      "total": ""
    },
    "6cbdcef2bbff4b059c8de7432c9aa5f2": {
      "producto": "6738756",
      "detalle_adicional": "",
      "cantidad": "",
      "precio_unitario": "",
      "subtotal": "",
      "total": ""
    }
  }
}
我想将其修改为以下结构,以便像“940b130369614bd6b687dc5b41623439”这样的代码被解除,dtalle变成And数组

{
  "cabecera": {
    "tipo_cambio": "",
    "fecha_emision": "",
    "total": ""
  },
  "detalle": [
    {
      "producto": "94115891",
      "detalle_adicional": "",
      "cantidad": "",
      "precio_unitario": "",
      "subtotal": "",
      "total": ""
    },
    {
      "producto": "6738756",
      "detalle_adicional": "",
      "cantidad": "",
      "precio_unitario": "",
      "subtotal": "",
      "total": ""
    }
  ]
}
有没有办法在C#中实现这一点?

这里有一个小型C#程序可以解决这个问题

string origJson =
@"{
""cabecera"": {
    ""tipo_cambio"": """",
    ""fecha_emision"": """",
    ""total"": """"
},
""detalle"": {
    ""940b130369614bd6b687dc5b41623439"": {
    ""producto"": ""94115891"",
    ""detalle_adicional"": """",
    ""cantidad"": """",
    ""precio_unitario"": """",
    ""subtotal"": """",
    ""total"": """"
    },
    ""6cbdcef2bbff4b059c8de7432c9aa5f2"": {
        ""producto"": ""6738756"",
        ""detalle_adicional"": """",
        ""cantidad"": """",
        ""precio_unitario"": """",
        ""subtotal"": """",
        ""total"": """"
    }
}
}";

JObject obj = JObject.Parse(origJson);
JArray detalleChilds = new JArray(obj.SelectToken("detalle").Select(x => x.Children()));

obj.Remove("detalle");
obj.Add("detalle", detalleChilds);

Console.WriteLine(obj);
为了使用这个示例,您需要安装Newtonsoft.Json NuGet

<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />


您自己尝试过吗?你知道你想用哪种语言做吗?用动态类型JArray.Parse in.nett试试吧。非常感谢