(c#)json 转换数组

我得到一串{"country":"China"},{"country":"English"},{"country":"Japan"},现在想把country合并为一个数组... 我得到一串{"country": "China"},{"country": "English"},{"country": "Japan"},现在想把country合并为一个数组,里面包含China,English,Japan,请问后台代码该怎么操作?感谢!

备注一下:
我是.net2.0,C#,Json类库使用Json.Net。(不要前端的,前端的jquery很好解决)
展开
 我来答
说着笑着d午后
2011-06-14 · TA获得超过282个赞
知道小有建树答主
回答量:426
采纳率:0%
帮助的人:267万
展开全部
1.定义个类来对应你的 json 数据:
[DataContract]
public class JsonResult<T>
{
[DataMember]
public string country{ get; set; }
}

2.解析结果:
JsonResultInfo<List<hzJsonCaseApply>> result = (JsonResultInfo<List<hzJsonCaseApply>>)client.ConvertByteDataToObject(你的json数据字节流);

3.相关的方法:
client是自定义的一个类,其下ConvertByteDataToObject方法为:
public object ConvertByteDataToObject(byte[] byteValue)
{
object result = null;
try
{
using (MemoryStream ms = new MemoryStream(byteValue))
{

System.Runtime.Serialization.Json.DataContractJsonSerializer ser = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(object));
result = ser.ReadObject(ms);
}
}
catch (Exception e)
{

result = Activator.CreateInstance(typeof(object));
try
{
System.Reflection.PropertyInfo pi = typeof(object).GetProperty("Message");
if (pi != null)
{
pi.SetValue(result, e.Message, null);
}
}
catch { }
}

return result;
}
追问
请问能够给个例子?这段代码有好多地方是没定义的,不知道具体怎么用。
感谢!
追答
还有种方法更简单,函数定义如下:
public static T JSONToObject(string jsonText)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
try
{
return jss.Deserialize(jsonText);
}
catch (Exception ex)
{
throw new Exception("JSONHelper.JSONToObject(): " + ex.Message);
}
}

JavaScriptSerializer为:System.Web.Script.Serialization.JavaScriptSerializer,注意添加引用,我觉得这个更好。

使用的话:
JsonResult appResult =JSONToObject>(你的json字符串);
就行了。JsonResult、hzJsonApplicationInfo 是我定义的类,对应json字符串
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式