如果流的字符串直接用string类型来转换Json对象的话 会有转义字符 ‘\’ 的存在而且无法通过替换让这个字符消失就也无法直接转换成Object对象,
下面出代码 方法1
/// <summary>
/// 字符流转换成Jsno对象
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static JObject StreamToString(Stream s)
{
//创建流的对象
var sr = new StreamReader(s);
//读取request的流:Json字符
var stream = sr.ReadToEnd().ToString();
//讲读取到的字符用字典存储
Dictionary<string, object> str = (Dictionary<string, object>)new JavaScriptSerializer().DeserializeObject(stream);
JObject jo = new JObject();
foreach (var item in str)
{
//把字典转换成Json对象
jo.Add(item.Key, item.Value.ToString());
}
return jo;
}
方法二:
string jsonstr ="";
JObject jo = (JObject)JsonConvert.DeserializeObject(jsonstr);
// 即准换成josn 对象
或者可以转成集合
这样就可以 让提交的json转换成对象了,在进行相应的业务