【问题标题】:Convert string type into Array List将字符串类型转换为数组列表
【发布时间】:2017-10-31 12:24:11
【问题描述】:
如何将这样的字符串转换为数组列表
{'id':'6726','Codigo':'AlmNumTrab','Denominacion':'Almacen','Descripcion':'Almacenes','TipoCampo':'2','TipoIntroduccion':'0'}
我想像datos[0]一样直接获取id字段
谢谢
【问题讨论】:
标签:
c#
arrays
string
serialization
【解决方案1】:
你没有提到语言搜索 google 作为键值数组
这里是 c# 的代码:
var Dictionary= new Dictionary<string, object>();
dictionary.Add("id", "6726");
object id= dictionary["id"];
【解决方案2】:
- 使用Json.Net nuget package
- 创建一个具有匹配属性的类
yourClassHere(或将 json 复制为 Visual Studio 中的类)。
- 使用此代码
未经测试,但应该可以解决问题:
string yourStringIsJson = "{'id':'6726','Codigo':'AlmNumTrab','Denominacion':'Almacen','Descripcion':'Almacenes','TipoCampo':'2','TipoIntroduccion':'0'}";
yourClassHere deserializedThing = JsonConvert.DeserializeObject<yourClassHere>(yourStringIsJson);
【解决方案3】:
这是一个 JSON 字符串。所以最好这样对待它。
因此,使用 C# 添加带有 NuGet 的 Newtosoft JSON 库。
然后您可以将其反序列化为字典
var dict = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>("{'id':'6726','Codigo':'AlmNumTrab','Denominacion':'Almacen','Descripcion':'Almacenes','TipoCampo':'2','TipoIntroduccion':'0'}");
然后您可以像这样访问这些值:
dict["id"] // this should give you 6726
【解决方案4】:
感谢大家的回答。
我终于找到了一个简单的解决方案,不是 ArrayList 但我认为是更好的解决方案。
String idCampo = JObject.Parse(datos)["id"].ToString();
如您所知,这会转换 JObject 中的字符串,我可以直接访问它。
无论如何我都会尝试你的答案,只是为了学习。