C# 我如何使用json格式获取值?

C# 我如何使用json格式获取值?,c#,C#,您好,这是我的json值 如何获取值 "a195cc41-4b37-4192-8949-86ae109cfa80,{\"UserID\":2,\"CurrentSessionID\":\"746076a0-6ab9-415a-849a-2755837981bb\",\"Name\":\"SERDAR\",\"Surname\":\"SENGUL\",\"Email\":null,\"Password\":null,\"RememberMe\":false,\"IsActive\":fals

您好,这是我的json值

如何获取值

   "a195cc41-4b37-4192-8949-86ae109cfa80,{\"UserID\":2,\"CurrentSessionID\":\"746076a0-6ab9-415a-849a-2755837981bb\",\"Name\":\"SERDAR\",\"Surname\":\"SENGUL\",\"Email\":null,\"Password\":null,\"RememberMe\":false,\"IsActive\":false,\"IsDeleted\":false,\"CreateDate\":\"2015-01-17T09:15:03.6339968+02:00\"},17.01.2015 09:15:03"

var id =  clientAuth.Split(',')[0] > it's working (773484c2-5730-4cfa-a17e-2eb041e8c225)
var date =  clientAuth.Split(',')[11] > it's working (24.01.2015)
but I can not take get usermodel a value
that comes
var UserID =  clientAuth.Split(',')[1]  {\"UserID\":2"
var name =  clientAuth.Split(',')[2]  {\"Surname\":SENGUL"
var createDate =  clientAuth.Split(',')[2]  "\"CreateDate\":\"2015-01-17T08:44:30.1681286+02:00\"}"

如果我理解你的问题,你需要这样做:

var firstComma = rawData.indexOf(',');
var lastComma = rawData.lastIndexOf(',');
var jsonString = rawData.slice(firstComma+1,lastComma-firstComma);
var obj = JSON.parse(jsonString);
然后您可以参考对象的属性,如:

var createdate = obj.CreateDate;
var surname = obj.Surname;
祝你好运


编辑:如果愿意,还可以使用正则表达式查找“{..}”字符串。

1。它不是有效的json。
2.用于解析C#代码中的json:

YourObject obj=JsonConvert.DeserializeObject(json);

你好,谢谢你的回答……是的,没错,但我看到了这个错误,我想可能是“}”当然,我的错。由于对象中有逗号,因此不能使用拆分(',')。让我编辑答案。您可以使用像/\{[\s\s]+\}/这样的正则表达式来匹配对象字符串。即使您有嵌入式对象,这也应该有效,因为正则表达式在默认情况下是贪婪的。。但我看到了这个错误:)切片键不工作我犯了一个错误?再次抱歉。我太急了
lastcoma firstComma
太大。应该是
lastcoma firstComma-1
。我想这会教我校对。你好,阿米尔,不,这是当前有效的json格式,好吧,我解决了这个问题,现在它工作得很好,但我如何才能得到值?您可以构建一个反映json(相同属性)的C#对象,然后像我在示例中所做的那样在反序列化对象上使用通用版本,或者如果您想动态访问您的对象,可以使用动态对象(了解它)。
  YourObject obj = JsonConvert.DeserializeObject<YourObject>(json);