Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.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 如何在c中删除Json中的coulmn名称#_Javascript_C#_Json - Fatal编程技术网

Javascript 如何在c中删除Json中的coulmn名称#

Javascript 如何在c中删除Json中的coulmn名称#,javascript,c#,json,Javascript,C#,Json,例如,这是我的JSON: [ { "id":1, "name":"Core" }, { "id":2, "name":"Moderate" }, { "id":3, "name":"Remote" } ] 如何删除id和name 我的期望输出: [ { "1":"Core" }, { "2":"Moderate" }, { "3":"Remot

例如,这是我的JSON:

[
   {
      "id":1,
      "name":"Core"
   },
   {
      "id":2,
      "name":"Moderate"
   },
   {
      "id":3,
      "name":"Remote"
   }
]
如何删除
id
name

我的期望输出:

[
  {
    "1":"Core"
  },
  {
    "2":"Moderate"
  },
  {
    "3":"Remote"
  }
]

您可以这样做:

            JArray arr = JArray.Parse(json);

            foreach (var el in arr.ToList())
            {
              var obj = new JObject();
              obj[el["id"].Value<string>()] = el["name"].Value<string>();
              el.Replace(obj);
            }

            var res = arr.ToString();
JArray arr=JArray.Parse(json); foreach(arr.ToList()中的变量el) { var obj=新作业对象(); obj[el[“id”].Value()]=el[“name”].Value(); el.更换(obj); } var res=arr.ToString();
您可以将json字符串反序列化为对象(MyType)并重写ToString()方法

public方法(){
string json=…;//您的json字符串
List myType=JsonConvert.DeserializeObject(json);
var输出=string.Join(“,”,myType);
}
公共类MyType
{
公共整数Id
{
得到;
设置
}
公共字符串名{
得到;
设置
}
公共重写字符串ToString()
{
返回string.Format(“{0}:{1}”,Id.ToString(),Name);
}
}
像这样试试

var objs = new[]
{
    new {Id = 1, Name = "Core"},
    new {Id = 2, Name = "Moderate"},
    new {Id = 3, Name = "Remote"},
};

var json1 = JsonConvert.SerializeObject(objs);
Console.WriteLine(json1);

var dict = objs.ToDictionary(k => k.Id.ToString(), v => v.Name);

var json2 = JsonConvert.SerializeObject(dict);
Console.WriteLine(json2);

您的输出不是有效的JSON。。我假设在输出中您的意思是
[{“1”:“Core”},{“2”:“mediate”}]
请告诉我们您到目前为止尝试了什么[{1,“Core”},{2,“mediate”},{3,“Remote”}]我刚从数据库中获取记录并返回它的列名我想删除它在这方面帮助我提前感谢它在下面的行中抛出错误'var obj=new JObject{[el[“id”].Value()]=el[“name”].Value()};'错误为无效初始值设定项成员declaratormaybe indexer初始值设定项是在C#7.0中引入的,您没有它。尝试在单独的行中初始化。参见编辑
var objs = new[]
{
    new {Id = 1, Name = "Core"},
    new {Id = 2, Name = "Moderate"},
    new {Id = 3, Name = "Remote"},
};

var json1 = JsonConvert.SerializeObject(objs);
Console.WriteLine(json1);

var dict = objs.ToDictionary(k => k.Id.ToString(), v => v.Name);

var json2 = JsonConvert.SerializeObject(dict);
Console.WriteLine(json2);