跪求高手帮忙解析JSON,
有一字符串,JSON格式string jsonStr = "{'medicalInfo':[
{'medicalName':'强力定眩片(糖衣)','medicalCode':'29658','tradeName':'无','productSpec':'0.35g×60片/盒','medicalUnit':'无','manufacture':'陕西汉王药业','sourceType':'3','retailPrice':'0'},
{"medicalName":"丙酸氯倍他索软膏","medicalCode":"25935","tradeName":"无","productSpec":"10g:2mg(0.02%)×1支/支","medicalUnit":"无","manufacture":"安徽新和成","sourceType":"3","retailPrice":"0"}
]}";
自定义类
public class medicalInfo
{
public string medicalName { get; set; }
public string medicalCode { get; set; }
public string tradeName { get; set; }
public string productSpec { get; set; }
public string medicalUnit { get; set; }
public string manufacture { get; set; }
public string sourceType { get; set; }
public string retailPrice { get; set; }
}
打算用Newtonsoft.Json.dll解析
写法如下
JavaScriptSerializer js = new JavaScriptSerializer();
medicalInfo list = js.Deserialize<medicalInfo>(jsonStr);
可是list为空,请各位高手指点一二
--------------------编程问答--------------------
public class medicalInfo
{
public string medicalName { get; set; }
public string medicalCode { get; set; }
public string tradeName { get; set; }
public string productSpec { get; set; }
public string medicalUnit { get; set; }
public string manufacture { get; set; }
public string sourceType { get; set; }
public string retailPrice { get; set; }
}
public class medicalInfoArr
{
public medicalInfo[] medicalInfo { get; set; }
}
string jsonStr = @"{'medicalInfo':[--------------------编程问答--------------------
{'medicalName':'强力定眩片(糖衣)','medicalCode':'29658','tradeName':'无','productSpec':'0.35g×60片/盒','medicalUnit':'无','manufacture':'陕西汉王药业','sourceType':'3','retailPrice':'0'},
{""medicalName"":""丙酸氯倍他索软膏"",""medicalCode"":""25935"",""tradeName"":""无"",""productSpec"":""10g:2mg(0.02%)×1支/支"",""medicalUnit"":""无"",""manufacture"":""安徽新和成"",""sourceType"":""3"",""retailPrice"":""0""}
]}";
medicalInfoArr arr = JavaScriptConvert.DeserializeObject<medicalInfoArr>(jsonStr);
foreach (medicalInfo m in arr.medicalInfo)
{
Console.WriteLine("{0} {1} {2}\r\n", m.medicalName, m.medicalCode, m.tradeName);
}
medicalInfo[] list = js.Deserialize<medicalInfo[]>(jsonStr); --------------------编程问答--------------------
using System.IO;--------------------编程问答--------------------
using System.Web.Script.Serialization;
using System.Runtime.Serialization.Json;
public static List<T> JSONStringToList<T>(this string JsonStr)
{
JavaScriptSerializer Serializer = new JavaScriptSerializer();
List<T> objs = Serializer.Deserialize<List<T>>(JsonStr);
return objs;
}
public static T Deserialize<T>(string json)
{
T obj = Activator.CreateInstance<T>();
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
return (T)serializer.ReadObject(ms);
}
}
直接命中要害. --------------------编程问答--------------------
报‘没有为类型“demo.Form1+medicalInfo[]”定义无参数的构造函数。’的错,求大哥解答一下 --------------------编程问答--------------------
报‘没有为类型“demo.Form1+medicalInfo[]”定义无参数的构造函数。’的错,求大哥解答一下 --------------------编程问答-------------------- 哥们,这问题解决了吗?
补充:.NET技术 , C#