Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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
C# 从Json字符串获取值_C#_Json - Fatal编程技术网

C# 从Json字符串获取值

C# 从Json字符串获取值,c#,json,C#,Json,我有一个像 var Result= [{"CompanyID":32,"Roles":["Admin"]}] 我需要从中得到CompanyID的价值 我试过类似的东西 var obj = JObject.Parse(Result); int Id=obj["CompanyID"]; 但它抛出了一些错误“从JsonReader读取JObject时出错。当前JsonReader项不是对象:StartArray.Path“”,第1行,位置1。” 有人能帮忙吗 提前感谢您的帮助。实际的问题是,当您实

我有一个像

var Result= [{"CompanyID":32,"Roles":["Admin"]}]
我需要从中得到CompanyID的价值

我试过类似的东西

var obj = JObject.Parse(Result);
int Id=obj["CompanyID"];
但它抛出了一些错误“从JsonReader读取JObject时出错。当前JsonReader项不是对象:StartArray.Path“”,第1行,位置1。”

有人能帮忙吗


提前感谢您的帮助。

实际的问题是,当您实际拥有一个对象数组时,您试图将其解析为
JObject
。您可以首先将其解析为一个数组,然后索引该数组以选择唯一的对象,然后选择
CompanyID
键,然后获取值作为
int

var Result = "[{\"CompanyID\":32,\"Roles\":[\"Admin\"]}]";
// Parse your Result to an Array
var jArray = JArray.Parse(Result);
// Index the Array and select your CompanyID
var obj = jArray[0]["CompanyID"].Value<int>();
var Result=“[{\'CompanyID\':32,\'Roles\':[\'Admin\']}]”;
//将结果解析为数组
var jArray=jArray.Parse(结果);
//为数组编制索引并选择您的公司ID
var obj=jArray[0][“CompanyID”].Value();
或者,您也可以将JSON映射到一个具体类型,如果它是您经常使用的结构的话。这是更有益的,因为您将有编译时检查-在发生拼写错误或大写错误时,选择一个键

class Program
{
    static void Main(string[] args)
    {
        var Result = "[{\"CompanyID\":32,\"Roles\":[\"Admin\"]}]";
        var cList = JsonConvert.DeserializeObject<List<Company>>(Result);

        var obj = cList.First().CompanyID;
    }
}

public class Company
{
    public int CompanyID { get; set; }
    public List<string> Roles { get; set; }
}
类程序
{
静态void Main(字符串[]参数)
{
var Result=“[{\'CompanyID\':32,\'Roles\':[\'Admin\']}]”;
var cList=JsonConvert.DeserializeObject(结果);
var obj=cList.First().CompanyID;
}
}
公营公司
{
public int CompanyID{get;set;}
公共列表角色{get;set;}
}