我有一个JSON字符串
{
[
"EnrityList": "Attribute",
"KeyName": "AkeyName",
"Value": "Avalue"
],
[
"EnrityList": "BusinessKey",
"KeyName": "AkeyName",
"Value": "Avalue"
]
}
我已经序列化并得到了一个对象数组。 谁能帮助我从这些对象数组中获取键值对。
答案 0 :(得分:0)
您可以使用Newtonsoft.Json中的JsonConvert
将json反序列化为Dictionary。
Dictionary<string, object> values =
JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonstring);
答案 1 :(得分:0)
首先使用以下命令将上述字符串转换为正确的json格式:
G
这将使字符串
str=str.Replace('[', '{');
str=str.Replace(']', '}');
//replace first occurance of {
int startPos = str.IndexOf('{');
str=str.Substring(0,startPos)+" ["+str.Substring(startPos + 1);
//replace last occurance of }
int endPos = str.LastIndexOf('}');
str=str.Substring(0,endPos)+"]";
现在,由于您获得了json字符串,因此可以轻松使用它。
我们可以使用
How can I deserialize JSON to a simple Dictionary<string,string> in ASP.NET?
str = [{"EnrityList":"Attribute","KeyName":"AkeyName","Value":"Avalue"}, {"EnrityList":"BusinessKey","KeyName":"AkeyName","Value":"Avalue"} ]
答案 2 :(得分:-1)
以您的示例为例,您正在尝试接收某种类型的元素的列表, 因此,首先,您将需要一个类来表示您的数据类型。
class MyType
{
string EnrityList;
string KeyName;
string Value;
}
然后使用DesrializeObject方法将其存储在变量中
var values = JsonConvert.DeserializeObject<List<MyType>>(jsonstring);