标签:
js下 json格式
var testJson = { "Name" : "奥巴马" , "ByName" : ["小奥","小巴","小马"], "Education" : { "GradeSchool" : "华盛顿第一小学", "MiddleSchool" : ["华盛顿第一初中" , "华盛顿第一高中"], "University" : { "Name" : "哈佛大学", "Specialty" : ["软件工程","会计"] } } }
c# 下的json字符串
string testJson = "{\"Name\" : \"奥巴马\",\"ByName\" : [\"小奥\",\"小巴\",\"小马\"],\"Education\":{\"GradeSchool\" : \"华盛顿第一小学\",\"MiddleSchool\" : [\"华盛顿第一初中\" , \"华盛顿第一高中\"], \"University\" :{ \"Name\" : \"哈佛大学\", \"Specialty\" : [\"软件工程\",\"会计\"]}}}";
栗子1:
事先定义好一个类
public class CatalogCustom { public string CatalogID { get; set; } public string DisplayName { get; set; } }
js下拼好正确的json字符串格式
$("[name=checkCatalog]").click(function(){ var CatalogID=$(this).val(); var DisplayName=$(this).attr("tag"); var json=‘{"CatalogID":"‘+CatalogID+‘","DisplayName":"‘+DisplayName+‘"}‘; $.post("/GoWhere/AddCatalogOnly",{jsonStr:json},function(){ },"Text"); });
post到后台用string类型接收
public ActionResult AddCatalogOnly(string jsonStr) { CatalogCustom catalogCustom= SerializeHelper.DeserializeFromJson<CatalogCustom>(jsonStr); return View(); }
栗子2:
有时候我们会提交多组数据,此时我们可以用list集合来接收前台提交过来的数据,同时我们也要注意这种情况下前台json数据的拼接格式(上一个栗子可以看做是一个json字符串对象,现在则是多个json对象的字符串)
前台js:
$("#catalogSave").click(function(){ var array=[]; $("[name=checkCatalog]:checked").each(function(i,u){ var CatalogID=$(u).val(); var DisplayName=$(u).attr("tag"); array.push(‘{"CatalogID":"‘+CatalogID+‘","DisplayName":"‘+DisplayName+‘"}‘); }); $.post("/GoWhere/AddCatalog",{str:"["+array.join(",")+"]"},function(msg){ if(msg=="ok"){ alert("编辑成功"); window.location.href="/GoWhere/GoWhereIndexLogin"; }else{ alert("编辑失败"); } },"text"); });
后台c#:
public ActionResult AddCatalog(string str) { List<CatalogCustom> list = SerializeHelper.DeserializeFromJson<List<CatalogCustom>>(str); int uid = SystemManager.GetUID(this.Request); int flag = GoWhereList.Instance.EditorProductUserLovesByUid(uid, list); if (flag > 0) { return this.Content("ok"); } else { return this.Content("ok"); } }
标签:
原文地址:http://www.cnblogs.com/xbblogs/p/4945877.html