当前位置:编程学习 > C#/ASP.NET >>

后台返回JSON 前台取不到值

--------------------编程问答-------------------- 将
{\"FileJson\":[{\"f_FileName\":\"测试文件.rar\",\"f_FileSize\":\"3.4\",\"f_FileUrl\":\"201208345945.rar\"},{\"f_FileName\":\"说明.doc\",\"f_FileSize\":\"1.2\",\"f_FileUrl\":\"201305082983.doc\"}]}

赋给一个public string类型的变量比如strJson,然后前台js读取,
var _json="<%=strJson%>"
--------------------编程问答--------------------    var json = eval(result); 
要加括号
   var json = eval('('+result+')'); 
--------------------编程问答-------------------- data: { "type": "1", "Id": Id }, 

或者把Id与值区别开,可以是Id:_id
--------------------编程问答--------------------
引用 1 楼 Joyhen 的回复:
{\"FileJson\":[{\"f_FileName\":\"测试文件.rar\",\"f_FileSize\":\"3.4\",\"f_FileUrl\":\"201208345945.rar\"},{\"f_FileName\":\"说明.doc\",\"f_FileSize\":\"1.2\",\"f_FileUrl\":\"201305082983.doc\"}]}

赋给一个public string类型的变量比如strJson,然后前台js读取,
var _json="<%=strJson%>"
我是动态查询 需要用的数据才去查询,到这么绑定还要JS何用?我那里的ID的传入要查询的ID,要是绑定,我早就绑了 --------------------编程问答-------------------- 自己debugger啊,看看result  json str --------------------编程问答-------------------- 除 --------------------编程问答--------------------
引用 2 楼 zhoufeng0401 的回复:
   var json = eval(result); 
要加括号
   var json = eval('('+result+')'); 
你的方法是对的,但是一直提示“行: 205 错误: 缺少 ']'”
但返回数据里没有缺“]”啊```


{\"FileJson\":[{\"f_FileName\":\"测试文件.rar\",\"f_FileSize\":\"3.4\",\"f_FileUrl\":\"201208345945.rar\"},{\"f_FileName\":\"说明.doc\",\"f_FileSize\":\"1.2\",\"f_FileUrl\":\"201305082983.doc\"}]}
--------------------编程问答--------------------
引用 7 楼 overset 的回复:
Quote: 引用 2 楼 zhoufeng0401 的回复:

   var json = eval(result); 
要加括号
   var json = eval('('+result+')'); 
你的方法是对的,但是一直提示“行: 205 错误: 缺少 ']'”
但返回数据里没有缺“]”啊```


{\"FileJson\":[{\"f_FileName\":\"测试文件.rar\",\"f_FileSize\":\"3.4\",\"f_FileUrl\":\"201208345945.rar\"},{\"f_FileName\":\"说明.doc\",\"f_FileSize\":\"1.2\",\"f_FileUrl\":\"201305082983.doc\"}]}

或者你可以查下result的值是什么?
--------------------编程问答-------------------- 你Data哪好像有点问题,改为data: { "type": "1", "Id": Id }试试!

--------------------编程问答--------------------
引用 7 楼 overset 的回复:
Quote: 引用 2 楼 zhoufeng0401 的回复:

   var json = eval(result); 
要加括号
   var json = eval('('+result+')'); 
你的方法是对的,但是一直提示“行: 205 错误: 缺少 ']'”
但返回数据里没有缺“]”啊```


{\"FileJson\":[{\"f_FileName\":\"测试文件.rar\",\"f_FileSize\":\"3.4\",\"f_FileUrl\":\"201208345945.rar\"},{\"f_FileName\":\"说明.doc\",\"f_FileSize\":\"1.2\",\"f_FileUrl\":\"201305082983.doc\"}]}

我自己测试了下没问题,
<script>
var aa='{"FileJson":[{"f_FileName":"测试文件.rar","f_FileSize":"3.4","f_FileUrl":"201208345945.rar"},{"f_FileName":"说明.doc","f_FileSize":"1.2","f_FileUrl":"201305082983.doc"}]}'

alert(eval('('+aa+')'))
</script>


你看下获得的对象是否对了,如果对了,那就便利这个对象的时候看看是不是出问题了 --------------------编程问答--------------------
引用 10 楼 zhoufeng0401 的回复:
Quote: 引用 7 楼 overset 的回复:

Quote: 引用 2 楼 zhoufeng0401 的回复:

   var json = eval(result); 
要加括号
   var json = eval('('+result+')'); 
你的方法是对的,但是一直提示“行: 205 错误: 缺少 ']'”
但返回数据里没有缺“]”啊```


{\"FileJson\":[{\"f_FileName\":\"测试文件.rar\",\"f_FileSize\":\"3.4\",\"f_FileUrl\":\"201208345945.rar\"},{\"f_FileName\":\"说明.doc\",\"f_FileSize\":\"1.2\",\"f_FileUrl\":\"201305082983.doc\"}]}

我自己测试了下没问题,
<script>
var aa='{"FileJson":[{"f_FileName":"测试文件.rar","f_FileSize":"3.4","f_FileUrl":"201208345945.rar"},{"f_FileName":"说明.doc","f_FileSize":"1.2","f_FileUrl":"201305082983.doc"}]}'

alert(eval('('+aa+')'))
</script>


你看下获得的对象是否对了,如果对了,那就便利这个对象的时候看看是不是出问题了
现在不提示缺少“]”,但
我alert(json)结果是 NaN,我alert(json.length)结果是undefined --------------------编程问答-------------------- 别问我们,问浏览器,打开FF或ie9以上浏览器,按F12-网络监控一下提交和返回值,观察返回状态值,返回信息及运行信息,瞬间搞定 --------------------编程问答-------------------- json是个json对象好不?你怎么直接.length了,
json.FileJson才是个数组 --------------------编程问答-------------------- 直接alert(result); --------------------编程问答-------------------- "{\"FileJson\" --------------------编程问答-------------------- 写法太复杂了,用.net 自带工具直接序列化
IList<object> listObj = new List<object>();
            var olist = GetAllCategory();
            listObj.Add(new { id = "category", name = "栏目管理", isParent = true, pId = "0", open = false, icon = "/Content/img/diy/4.png" });

            foreach (var o in olist)
            {
                listObj.Add(new { id = o.GID.ToString(), name = o.Name, isParent = !o.IsLeaf, pId = (o.ParentID != Guid.Empty ? o.ParentID.ToString() : "category"), icon = "/Content/img/diy/2.png" });
            }

            return JsonConvert.SerializeObject(listObj);
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,