C#菜鸟求教大神:C# 中如何按参数名称从字符串中截取特定的参数值?(就是数据分割,这个复杂,符号杂乱)
如下面的数据{\"releasetime\":\"2016-10-2716:36:26\",\"status\":\"正常\",\"hottype\":\"最新产品\",...
如下面的数据{\"releasetime\":\"2016-10-27 16:36:26\",\"status\":\"正常\",\"hottype\":\"最新产品\",\"medialist\":[{\"filepath\":\"uploadFiles/uploadImgs/20161024/291d7a179c5c4b619f84a86f2a68e3c5.png\",\"productid\":\"451\",\"mediaid\":\"391\",\"filename\":\"tupian\",\"filetype\":\"IMAGE\",\"resolution\":\"\"}],\"productintroduction\":\"<p>而他的缘分哪一个健康可能<\\/p>\",\"marketingdiscourse\":\"<p>而冬天衣服应该就会把你<\\/p>\",\"organcode\":\"4222\",\"productid\":\"451\",\"customerpad\":\"\",\"organname\":\"电商科技\",\"producttype\":\"卡片\",\"annualreturn\":\"3\",\"productname\":\"测试0002\"}如何提取其中,productintroduction,productname的值???急急急!!!
展开
5个回答
展开全部
你这个是Json字符串, 不能单纯的去用string的拼接取值。
1、会很麻烦,2、如果是复杂类型的json(比如有个list在里面), 你是取不到正确的值的。
c#解析Json有很多方式,推荐一种C#自带的(.NET 3.5以后支持)
1、引用dll:System.Web.Extensions.dll. 引用命名空间:System.Web.Script.Serialization
2、建立实体类,比如:
public class MyData
{
public string releasetime{set;get;}
public string status {set;get;}
//这里就是你上面json的属性名称,名字一定要一样,如果没有开发文档的话, 类型要去推断, 一般带引号的都是string 不带的用int ,
}
3、解析:
public MyData ScriptDeserialize ( string jsonstr)
{
JavaScriptSerializer js = new JavaScriptSerializer();
try
{
return js.Deserialize<MyData>(jsonstr);
}
catch
{
throw new Exception("解析失败");
}
}
4、得到解析后的实体 MyData,
这个实体里面就可以.出来你要的属性了,比如MyData.productintroduction = ...就可以拿到了
1、会很麻烦,2、如果是复杂类型的json(比如有个list在里面), 你是取不到正确的值的。
c#解析Json有很多方式,推荐一种C#自带的(.NET 3.5以后支持)
1、引用dll:System.Web.Extensions.dll. 引用命名空间:System.Web.Script.Serialization
2、建立实体类,比如:
public class MyData
{
public string releasetime{set;get;}
public string status {set;get;}
//这里就是你上面json的属性名称,名字一定要一样,如果没有开发文档的话, 类型要去推断, 一般带引号的都是string 不带的用int ,
}
3、解析:
public MyData ScriptDeserialize ( string jsonstr)
{
JavaScriptSerializer js = new JavaScriptSerializer();
try
{
return js.Deserialize<MyData>(jsonstr);
}
catch
{
throw new Exception("解析失败");
}
}
4、得到解析后的实体 MyData,
这个实体里面就可以.出来你要的属性了,比如MyData.productintroduction = ...就可以拿到了
展开全部
太乱了,你可以按名称截取成两段,再按‘,’截取第一项,取值,不过你还得修一下
string[] result = System.Text.RegularExpressions.Regex.Split(str,"productintroduction
");
string msg = result[1].Split(',')[0];
string[] result = System.Text.RegularExpressions.Regex.Split(str,"productintroduction
");
string msg = result[1].Split(',')[0];
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
.net自带的json序列化与反序列化类
JavaScriptSerializer
JavaScriptSerializer
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哪部分是productintroduction?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
百度json 就可知道答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询