JSON.NET C#获取对反序列化对象的访问
我有一些JSON数据,我已经设法获取并放置在动态类型中 下面是它作为JSON的外观JSON.NET C#获取对反序列化对象的访问,c#,.net,json,linq,C#,.net,Json,Linq,我有一些JSON数据,我已经设法获取并放置在动态类型中 下面是它作为JSON的外观 {"fruits":{"a":"orange","b":"banana","c":"apple"},"numbers":[1,2,3,4,5,6],"holes":{"0":"first","5":"second","6":"third"}} 下面是我如何使用动态类型收集它 dynamic myObj =JsonConvert.DeserializeObject(output); 我需要找到一种方法来分离对象
{"fruits":{"a":"orange","b":"banana","c":"apple"},"numbers":[1,2,3,4,5,6],"holes":{"0":"first","5":"second","6":"third"}}
下面是我如何使用动态类型收集它
dynamic myObj =JsonConvert.DeserializeObject(output);
我需要找到一种方法来分离对象,并将其放置在某种数组中,这样我就可以掌握这些值。假设我想要获得holes数组并获得某种循环中所有值的访问权
如有任何建议,将不胜感激
谢谢请看一下
System.Web.Script.Serialization.JavaScriptSerializer
您可以将JSON字符串反序列化为强类型类,如下所示:
数据类:
public class AutocompleteAction
{
public String action { get; set; }
}
string json = // your json string
JavaScriptSerializer js = new JavaScriptSerializer();
AutocompleteAction jsonObject = js.Deserialize<AutocompleteAction>(json);
switch (jsonObject.action)
{
//
}
您将拥有嵌套类。然后,语法将类似于此
用法:
public class AutocompleteAction
{
public String action { get; set; }
}
string json = // your json string
JavaScriptSerializer js = new JavaScriptSerializer();
AutocompleteAction jsonObject = js.Deserialize<AutocompleteAction>(json);
switch (jsonObject.action)
{
//
}
string json=//您的json字符串
JavaScriptSerializer js=新的JavaScriptSerializer();
自动完成jsonObject=js.Deserialize(json);
开关(jsonObject.action)
{
//
}
看看System.Web.Script.Serialization.JavaScriptSerializer
您可以将JSON字符串反序列化为强类型类,如下所示:
数据类:
public class AutocompleteAction
{
public String action { get; set; }
}
string json = // your json string
JavaScriptSerializer js = new JavaScriptSerializer();
AutocompleteAction jsonObject = js.Deserialize<AutocompleteAction>(json);
switch (jsonObject.action)
{
//
}
您将拥有嵌套类。然后,语法将类似于此
用法:
public class AutocompleteAction
{
public String action { get; set; }
}
string json = // your json string
JavaScriptSerializer js = new JavaScriptSerializer();
AutocompleteAction jsonObject = js.Deserialize<AutocompleteAction>(json);
switch (jsonObject.action)
{
//
}
string json=//您的json字符串
JavaScriptSerializer js=新的JavaScriptSerializer();
自动完成jsonObject=js.Deserialize(json);
开关(jsonObject.action)
{
//
}
看看System.Web.Script.Serialization.JavaScriptSerializer
您可以将JSON字符串反序列化为强类型类,如下所示:
数据类:
public class AutocompleteAction
{
public String action { get; set; }
}
string json = // your json string
JavaScriptSerializer js = new JavaScriptSerializer();
AutocompleteAction jsonObject = js.Deserialize<AutocompleteAction>(json);
switch (jsonObject.action)
{
//
}
您将拥有嵌套类。然后,语法将类似于此
用法:
public class AutocompleteAction
{
public String action { get; set; }
}
string json = // your json string
JavaScriptSerializer js = new JavaScriptSerializer();
AutocompleteAction jsonObject = js.Deserialize<AutocompleteAction>(json);
switch (jsonObject.action)
{
//
}
string json=//您的json字符串
JavaScriptSerializer js=新的JavaScriptSerializer();
自动完成jsonObject=js.Deserialize(json);
开关(jsonObject.action)
{
//
}
看看System.Web.Script.Serialization.JavaScriptSerializer
您可以将JSON字符串反序列化为强类型类,如下所示:
数据类:
public class AutocompleteAction
{
public String action { get; set; }
}
string json = // your json string
JavaScriptSerializer js = new JavaScriptSerializer();
AutocompleteAction jsonObject = js.Deserialize<AutocompleteAction>(json);
switch (jsonObject.action)
{
//
}
您将拥有嵌套类。然后,语法将类似于此
用法:
public class AutocompleteAction
{
public String action { get; set; }
}
string json = // your json string
JavaScriptSerializer js = new JavaScriptSerializer();
AutocompleteAction jsonObject = js.Deserialize<AutocompleteAction>(json);
switch (jsonObject.action)
{
//
}
string json=//您的json字符串
JavaScriptSerializer js=新的JavaScriptSerializer();
自动完成jsonObject=js.Deserialize(json);
开关(jsonObject.action)
{
//
}
我最终使用Json.NET实现了这一点。希望对某人有用。我喜欢评论和批评,因为可能有更好的方法
string output = writeClient.Get<string>("mykey");
JObject myObj = (JObject)JsonConvert.DeserializeObject(output);
JObject fruits = myObj["fruits"] as JObject;
JObject holes = myObj["holes"] as JObject;
foreach (var fruit in fruits)
{
MyTestClass myClass = new MyTestClass();
myClass.myKey = fruit.Key;
myClass.myVal = fruit.Value.ToString();
}
JToken nums = myObj["nums"];
IEnumerable<string> allString = nums.Children().Values<string>();
foreach (var myVal in allString)
{
// do something..
}
string输出=writeClient.Get(“mykey”);
JObject myObj=(JObject)JsonConvert.DeserializeObject(输出);
JObject水果=myObj[“水果”]作为JObject;
JObject holes=myObj[“holes”]作为JObject;
foreach(水果中的果实)
{
MyTestClass myClass=新的MyTestClass();
myClass.myKey=fruit.Key;
myClass.myVal=fruit.Value.ToString();
}
JToken nums=myObj[“nums”];
IEnumerable allString=nums.Children().Values();
foreach(allString中的var myVal)
{
//做点什么。。
}
我最终使用Json.NET实现了这一点。希望对某人有用。我喜欢评论和批评,因为可能有更好的方法
string output = writeClient.Get<string>("mykey");
JObject myObj = (JObject)JsonConvert.DeserializeObject(output);
JObject fruits = myObj["fruits"] as JObject;
JObject holes = myObj["holes"] as JObject;
foreach (var fruit in fruits)
{
MyTestClass myClass = new MyTestClass();
myClass.myKey = fruit.Key;
myClass.myVal = fruit.Value.ToString();
}
JToken nums = myObj["nums"];
IEnumerable<string> allString = nums.Children().Values<string>();
foreach (var myVal in allString)
{
// do something..
}
string输出=writeClient.Get(“mykey”);
JObject myObj=(JObject)JsonConvert.DeserializeObject(输出);
JObject水果=myObj[“水果”]作为JObject;
JObject holes=myObj[“holes”]作为JObject;
foreach(水果中的果实)
{
MyTestClass myClass=新的MyTestClass();
myClass.myKey=fruit.Key;
myClass.myVal=fruit.Value.ToString();
}
JToken nums=myObj[“nums”];
IEnumerable allString=nums.Children().Values();
foreach(allString中的var myVal)
{
//做点什么。。
}
我最终使用Json.NET实现了这一点。希望对某人有用。我喜欢评论和批评,因为可能有更好的方法
string output = writeClient.Get<string>("mykey");
JObject myObj = (JObject)JsonConvert.DeserializeObject(output);
JObject fruits = myObj["fruits"] as JObject;
JObject holes = myObj["holes"] as JObject;
foreach (var fruit in fruits)
{
MyTestClass myClass = new MyTestClass();
myClass.myKey = fruit.Key;
myClass.myVal = fruit.Value.ToString();
}
JToken nums = myObj["nums"];
IEnumerable<string> allString = nums.Children().Values<string>();
foreach (var myVal in allString)
{
// do something..
}
string输出=writeClient.Get(“mykey”);
JObject myObj=(JObject)JsonConvert.DeserializeObject(输出);
JObject水果=myObj[“水果”]作为JObject;
JObject holes=myObj[“holes”]作为JObject;
foreach(水果中的果实)
{
MyTestClass myClass=新的MyTestClass();
myClass.myKey=fruit.Key;
myClass.myVal=fruit.Value.ToString();
}
JToken nums=myObj[“nums”];
IEnumerable allString=nums.Children().Values();
foreach(allString中的var myVal)
{
//做点什么。。
}
我最终使用Json.NET实现了这一点。希望对某人有用。我喜欢评论和批评,因为可能有更好的方法
string output = writeClient.Get<string>("mykey");
JObject myObj = (JObject)JsonConvert.DeserializeObject(output);
JObject fruits = myObj["fruits"] as JObject;
JObject holes = myObj["holes"] as JObject;
foreach (var fruit in fruits)
{
MyTestClass myClass = new MyTestClass();
myClass.myKey = fruit.Key;
myClass.myVal = fruit.Value.ToString();
}
JToken nums = myObj["nums"];
IEnumerable<string> allString = nums.Children().Values<string>();
foreach (var myVal in allString)
{
// do something..
}
string输出=writeClient.Get(“mykey”);
JObject myObj=(JObject)JsonConvert.DeserializeObject(输出);
JObject水果=myObj[“水果”]作为JObject;
JObject holes=myObj[“holes”]作为JObject;
foreach(水果中的果实)
{
MyTestClass myClass=新的MyTestClass();
myClass.myKey=fruit.Key;
myClass.myVal=fruit.Value.ToString();
}
JToken nums=myObj[“nums”];
IEnumerable allString=nums.Children().Values();
foreach(allString中的var myVal)
{
//做点什么。。
}
创建一个表示JSON对象结构的类,并反序列化JSON数据