后台C# List<Model> 转化为json字符串传给前台,前台将此字符串转化为对象

我用的是C# extjs,后台获取了一个list<model> ,model其实就是普通的表字段,也就是三层中的model。
后台将list<>转化为json字符串的代码是
var jser = new JavaScriptSerializer(); var json = jser.Serialize(listModel); string sRespons = json.ToString(); return sRespons;
以下是 json字符串sRespons的图片

然后前台获取到了该json字符串,没有啥变化和bug,
前台代码是
function GetRight() { Ext.Ajax.request({ url: 'Main.aspx', method: 'POST', params: { type: 'Getright' }, async: false, success: function (response) { var trn = response; var object = eval(‘('+json+')'); var str = ""; for (var i = 0; i < 19; i++) { str += "ID:" + object[i].ID + " " + "命名空间:" + object[i].F_MENU_SPACENAME; } alert(str); }, failure: function (response, options) { Ext.MessageBox.alert('获取菜单失败', response.status); } }); }
问题来了, var object = eval(‘('+json+')'); 报错,extjs报错是 “缺少[”,缺少中括号,我明明有的。
另外将该代码改为var object = eval(json);这句就过去了,但是到了for循环时候,我跟进了,object[i]是undefined,而且直接运行过去,说ID不是对象或者为null。这到底什么情况。。
是后台代传上来的不是json字符串吗,还是前台写错了?高分奉上

确认你的json串中,没有换行符,或是其它特殊字符吧,可以把json帖上来。

另外,看你的前台。
success: function (response) {
var trn = response;
var object = eval(‘('+json+')');
var str = "";
这里并没有看到json怎么来的。追问

哦 是我 粘错了,json就是response。
是我自己搞错了,json改成trn.responseText就可以了。呵呵 是我自己搞错了,分给你了

温馨提示:内容为网友见解,仅供参考
无其他回答

后台C# List<Model> 转化为json字符串传给前台,前台将此字符串转化为...
确认你的json串中,没有换行符,或是其它特殊字符吧,可以把json帖上来。另外,看你的前台。success: function (response) { var trn = response;var object = eval(‘('+json+')');var str = "";这里并没有看到json怎么来的。

C# ASHX怎样将list<string>转化成Json格式,并在前台combobox里显示_百 ...
public String execute(){ SexService sexService = SexServiceFactory.getSexService(); List sexList = sexService.showSex(); StringBuilder sb = new StringBuilder();\/\/构造json sb.append("["); if(sexList.size()>0) { for(Xtwh_Sex sex:sexList)\/\/遍历 sexList { sb.append("{\\"...

C# list<object>和json互转
private static JavaScriptSerializer jss = new JavaScriptSerializer();\/\/\/反序列化,S为反序列化的对象类,包含json的字段S s = jss.Deserialize<S>(responseText);\/\/\/序列化为json字符串,obj为需要序列化的对象string str = jss.Serialize(obj);需要引用 System.Web.Extensions即,项目-引用-右键-...

c# 拼接字符串并转化为json数据时,总是无法转到所需格式
变通一下拼接时候[{#CompanyName#:#汇总#}],,然后,用replace替换“。

js中的对象一般分为?
我们不但可以将一个JSON字符串转化为对象,反过来将一个对象“编译”为一个JSON字符串,以方便JavaScript中的对象的传输。例如: 复制代码代码如下: varAnimals=newObject(); Animals.name="dog"; Animals.sex="Male"; Animals.age="2"; Animals对象无法被序列化传输,将Animals对象转化为JSON字符串,也就是“{name:...

如何将数据实体转换为 JSON 字符串
先将java对象转换为json对象,在将json对象转换为json字符串 JSONObject json = JSONObject.fromObject(obj);\/\/将java对象转换为json对象 String str = json.toString();\/\/将json对象转换为字符串 参考代码如下:package baz.parse;import java.util.ArrayList;import java.util.List;import net.sf.json...

相似回答