C# 如何使用字符串变量c中的给定路径获取JSON对象
var output=json.string我相信这就是您想要的,我的示例中使用了newtonsoft json库C# 如何使用字符串变量c中的给定路径获取JSON对象,c#,json,object,dynamic,C#,Json,Object,Dynamic,var output=json.string我相信这就是您想要的,我的示例中使用了newtonsoft json库 var string = "test.data" var json = "{'test':{'data':[{'details':{'id':'1','name':'user1'}},{'details':{'id':'2','name':'user2'}}]}}" 您可以尝试根据路径获取值 var json = "{'test':{'data':[{'details':
var string = "test.data"
var json = "{'test':{'data':[{'details':{'id':'1','name':'user1'}},{'details':{'id':'2','name':'user2'}}]}}"
您可以尝试根据路径获取值
var json = "{'test':{'data':[{'details':{'id':'1','name':'user1'}},{'details':{'id':'2','name':'user2'}}]}}";
var jObj = JObject.Parse(json);
var result = jObj.SelectToken("test.data")?.ToString();
// result
// [
// {
// "details": {
// "id": "1",
// "name": "user1"
// }
// },
// {
// "details": {
// "id": "2",
// "name": "user2"
// }
// }
// ]
使用JSON文件的路径读取JSON文件。您可以创建一个接受路径的公共方法,并可以读取它
var json = JObject.Parse(@"{
'test':{
'data':[
{
'details':
{
'id':'1',
'name':'user1'
}
},
{
'details':
{
'id':'2',
'name':'user2'
}
}
]
}
}");
JToken data = json.SelectToken("$.test.data");
Console.WriteLine(data);
如果要将JSON字符串转换为对象,请使用以下命令
using System;
using System.IO;
public static string ReadAllTextFromPath(string path)
{
var filePath= AppDomain.CurrentDomain.BaseDirectory + path;
var fileData = File.ReadAllText(filePath);
return fileData ;
}
如果要从JSON数据中选择特定值,请使用selecttoken
var jsonString = ReadAllTextFromPath(filepath);//your JSON string
var jObject = Newtonsoft.Json.Linq.JObject.Parse(jsonString);
嗨,欢迎来到stackoverflow。请您更新一下您的问题,告诉我您希望得到什么样的输出以及到目前为止您尝试了什么?JSON.parsejson我还建议您查看newtonsoft文档以获取示例,诸如此类,作为要求您的评论之一,请始终尝试将预期输出添加到您的问题中,因为如果我想从细节中获取所有“id”,我在这里完全是盲目的,基于您的示例。我们怎样才能得到??。您可以添加解决方案吗?您可以使用json路径检查小提琴:检查路径$。电话号码[]。键入示例json。如果花些时间,尝试不同的方法来获得不同的属性,那将是非常棒的。如果仍然没有帮助,请让我知道我会更新我的答案谢谢。你的回答对我很有帮助。你现在可以用表情符号表示感谢_/\_
var object = (string)jObject.SelectToken("test.data");
//If you know "test.data" data having a structure of Model class, you can cast that class.