c#如何读取json中的值

我已经把Json读了进temp,Stringtemp={"response":[{"sFName":"Tom","sLName":"Lai","position":"Ma... 我已经把Json读了进temp,
String temp ={"response":[{"sFName":"Tom","sLName":"Lai","position":"Manage","permission":"0"}]};
如何把temp中的sFname,sLname,position,permisstion取出来
我在用WINFORM C#
展开
 我来答
曹晓山11
推荐于2016-08-27 · 知道合伙人互联网行家
曹晓山11
知道合伙人互联网行家
采纳数:3033 获赞数:52066
毕业南阳理工学院计算机科学与技术专业,本科学位。互联网行业从业3年工作经验,读过编程类相关书籍多本。

向TA提问 私信TA
展开全部

在C#中怎么解析JSON数据,并获取到其中的值,案例如下:

#JSON数据为:{"phantom":true,"id":"ext-record-10","data":{"MID":1019,"Name":"aaccccc","Des":"cc","Disable":"启用","Remark":"cccc"}}。
#需要得到结果为{"MID":1019,"Name":"aaccccc","Des":"cc","Disable":"启用","Remark":"cccc"}的字符串。

功能代码:

using System.Runtime.Serialization.Json;
       [Serializable]
        public class InternalClass
        {
            public int MID;
            public string Name;
            public string Des;
            public string Disable;
            public string Remark;
        }
        [Serializable]
        public class OuterClass
        {
            public bool phantom;
            public string id;
            public InternalClass data;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            const string json = @"{""phantom"":true,
                                   ""id"":""ext-record-10"",
                                   ""data"":
                                  {""MID"":1019,
                                   ""Name"":""aaccccc"",
                                    ""Des"":""cc"",
                                    ""Disable"":""启用"",
                                    ""Remark"":""cccc""}}";
            DataContractJsonSerializer ser1 = new DataContractJsonSerializer(typeof(OuterClass));
            using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json)))
            {
                OuterClass foo1 = ser1.ReadObject(ms) as OuterClass;
            }
        }
百度网友818239c
2014-01-11 · TA获得超过361个赞
知道小有建树答主
回答量:731
采纳率:25%
帮助的人:217万
展开全部
首先,你这个不是一个正确的json格式字符串,正确:

String temp =[{"response":[{"sFName":"Tom","sLName":"Lai","position":"Manage","permission":"0"}]}];

你是想在客户端读取这个字符串吗?如果是你可以这样写;

<script>
var json_str=eval('<%=temp%>');
var j1=json_str[0];
$.each(j1,function(i,boj){
var sFname=j1.sFName;
alert(sFname);//其他依次类推
});

</script>
追问
我在用WINFORM C#
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龙之华夏2022
推荐于2018-03-29 · 超过11用户采纳过TA的回答
知道答主
回答量:29
采纳率:0%
帮助的人:19.8万
展开全部
是web还是Winfrom?
1、添加引用
2、 System.Web.Script.Serialization.JavaScriptSerializer jss = new System.Web.Script.Serialization.JavaScriptSerializer();
jss.Serialize(_obj);//_obj必须实现[System.Serializable()]特性
更多追问追答
追问
我在用WINFORM C#
追答
http://msdn.microsoft.com/library/system.runtime.serialization.datacontractserializer.aspx

需要序列化的类使用[DataContractAttribute]特性,字段使用[DataMemberAttribute]特性
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-11
展开全部
取sFname 的方法是: temp.response.sFName;
其他的不用说了吧.
追问
不行啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式