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

求一个json写法,后台write给前台,哪位兄弟熟悉,帮个忙,在线等

代码:

// 购买
    $('#buybtn').click(function() {
        debugger;
        //pageTracker._trackPageview("/ga_detail_frche" ); 
        is_car_exist = 0;
        //_lt_click_stat('prod_buyit');
        //if (siteID == "2" && $('#product_ID').text().length == 9) {
        if (siteID == "2" && $('#product_ID').text().length == 2) {
            debugger;
            divshoesnum('prod_addsc2');  //弹出层的提示  选择鞋码

            $('#btnchoiceNum').click(function() {
                _lt_click_stat('prod_addsc2_ok');
                $('#buybtn').click();
            });
            return false;
        } else if (siteID == "2" && $('#product_ID').text().length > 2) {
            debugger;
            //$('#buywrg').text("");
            if (Number($('#buy_num').val()) <= 0)
                return false;
            var title_str = '<div style="width:458px;">'
+ '<div style="display:inline;"><img src="/letao/images/checkout/item03.gif" width="28" height="28" align="absmiddle" /></div>'
+ '<div style="display:inline;"><span style="color:#c12000; font-size:14px;font-weight:normal; line-height:28px;">正在放入购物车</span></div></div>';
            var content_str = '<div style="width:458px;height:83px; text-align:center;">';
            content_str += '<div style="color:#c12000; font-size:14px;font-weight:normal; padding-top:30px;"></div>';
            content_str += '<div style="color:#595757; font-size:12px;font-weight:normal;padding-top:5px;">正在放入您的购物车,请稍候……</div></div>';
            var state_str = '<div style="width:458px; height:44px;clear:both;display:none;"><div style="font-size:12px; padding:15px 27px; float:left;">'
+ '<a lt_stat_id="detail_frcheok_jixu" href="#" onclick="javascript:_lt_click_stat(\'detail_frcheok_jixu\');" >继续购物</a>   <a lt_stat_id="pop_check_trolley" onclick="javascript:_lt_click_stat(\'pop_check_trolley\')"; href="#">查看购物车(<span style="color:#c12000">3</span>)</a></div>'
+ '<div style="padding:8px 10px; float:right">\n';

            state_str += '<a lt_stat_id ="detail_frcheok_qujiezhang" onclick="javascript:_lt_click_stat(\'detail_frcheok_qujiezhang\'); " href="net_pay_zu.aspx" >\n';

            state_str += '<img border="0" src="/letaozu/images/shoes/btn09.gif" width="105" height="28" />';

            state_str += '</a></div></div>';
            debugger;
            fldiv({ title: title_str, content: content_str, state: state_str }, { drag: true, breakoff: true, scrolling: false });

            add_Shopping_cart();
            debugger;
            return false;
        }
    })

    function add_Shopping_cart() {
        debugger;
        var prod_ID = $('#product_ID').text();
        var prod_Num = 1;

        if (!isNaN($('#buy_num').val()))
            prod_Num = $('#buy_num').val();

        para = 1;

        // $.LT_AJAX("cart_add", [prod_ID, prod_Num], car_add_call_back, "user_cart");
        $.LT_AJAX("cart_add", [prod_ID, prod_Num], car_add_call_back, "userCart");
        debugger;
    }
    function car_add_call_back(return_al) {
        debugger;
        if (return_al[0] == 'SUCCESS')
            refersh_cart();
        debugger;
    }
    function refersh_cart() {
        var prod_ID = $('#product_ID').text();
        // $.LT_AJAX("cart_get", null, refersh_shopping_call_back, "user_cart");
        $.LT_AJAX("cart_get", null, refersh_shopping_call_back, "refresh_dt");
    }

    function refersh_shopping_call_back(return_dt) {
        debugger;
        trolley_obj = return_dt;
        var prodcount = 0;
        debugger;
        $.each(trolley_obj.Rows, function(i, n) {
            if (!trolley_obj.Rows[i]['HasStock']) {
                not_exist_prod += trolley_obj.Rows[i]['ProductName'] + "<br>";
                not_exist_prodid.push(trolley_obj.Rows[i]['ProductID']);
            }
            if (trolley_obj.Rows[i]['ProductNum'] > trolley_obj.Rows[i]['Fororder']) {
                over_order += trolley_obj.Rows[i]['ProductName'] + "<br>";
            }
            prodcount += Number(trolley_obj.Rows[i]['ProductNum']);
        })

        $('#fldiv .fldivstate div:first span:first').text(prodcount);
        $('#trolley span:first').text(prodcount);

        if (para == 1) {
            add_Shoping_car_call_back(return_dt);
        }
        if (is_car_exist == 1) {
            showCar();
        }
    }



    function add_Shoping_car_call_back(return_dt) {
        debugger;
        $('#fldiv .fldivtitle img:first').attr('src', '/letaozu/images/checkout/item02.gif');
        $('#fldiv .fldivtitle span:first').text('成功放入购物车');
        if (siteID == 2)
            $('#fldiv .fldivcontent div:last').html('恭喜!本次购买为您<font style="color:#FF319C">节省' + parseInt($('#total_discount').val()) * parseInt($("#buy_num").val()) + '元</font>');
        else if (siteID == 1)
            $('#fldiv .fldivcontent div:last').text('已放入您的购物车。');
        $('#fldiv .fldivstate div:first').show();
        $('#fldiv .fldivstate a:first').click(function() {
            $('#fldiv #flcontent .fldivclose').click();
            return false;
        });
        $('#fldiv .fldivstate a:eq(1)').click(function() {
            //pageTracker._trackPageview("/ga_detail_frcheok_chakan" ); 
            $('#fldiv #flcontent .fldivclose').click('test');
            $('#trolley').click();
            return false;
        });
        $('#fldiv .fldivstate a:last').click(function() {
            $('#fldiv #flcontent .fldivclose').click();
        });
        refersh_num(return_dt)
    }
    // 购物车
    $('#trolley').click(function() {
        debugger;
        is_car_exist = 1;
        var positin = $('#trolley').offset();
        _position = positin;
        _positionTop = _position.top + 30 + $(document).scrollTop();
        if (trolley_obj == undefined) {
            refersh_cart();
        }
        debugger;
        //pageTracker._trackPageview("/ga_top_che" ); 
        if (trolley_obj != null && trolley_obj.Rows.Count > 0) {
            showCar();
        } else {
            if (trolley_obj == "undefined" || trolley_obj == undefined) {
                var title_str = '';
                var content_str = '<div style="width:458px; height:44px; padding:30px 0px 0px; font-size:16px; color:#c12000; text-align:center;">'
+ '<img src="shonyweiye/NewImages/wrang.gif" align="absmiddle" /> 提示:您的购物车是空的。</div>';
                var state_str = '<div style="width:458px; height:41px;clear:both; padding-top:13px; font-size:12px; color:#595757; line-height:1.2em;">'
+ '<div style="float:left;text-align:right; width:128px;">购物车说明:</div>'
+ '<div style="float:left;">当您看到喜欢的商品时,可以先放入“购物车”,<br />购物车内可放置多件商品,以便最终一起结账。</div></div>';

                fldiv({ title: title_str, content: content_str, state: state_str }, { drag: true, y: _positionTop, breakoff: false, scrolling: false });

            }
        }

        return false;
    })

问题:我测试的数据是这种格式:

  StringBuilder Json = new StringBuilder(); 

        Json.Append("{\"" + "test" + "\":[");

        Json.Append("{");

        Json.Append("\"" + "vlc" + "\":\"" + "jopsd" + "\"");

        Json.Append(","); 

        Json.Append("\"" + "dsf" + "\":\"" + "fsdf" + "\""); 

        Json.Append("}"); 

        Json.Append("]}"); 

       Response.Write(Json.ToString());


 function refersh_shopping_call_back(return_dt) {
return_dt得到一个null值,这个格式如何写呀
--------------------编程问答-------------------- ...头疼。。。。。。。。。up --------------------编程问答-------------------- 这代码看的,哎。。。。。。。。。 --------------------编程问答-------------------- 这代码太强悍了。
 看得头晕。 --------------------编程问答-------------------- 能不能搞点样式啊。。。。 --------------------编程问答-------------------- function refersh_shopping_call_back(return_dt) { 
debugger; 
trolley_obj = return_dt; 
var prodcount = 0; 
debugger; 
$.each(trolley_obj.Rows, function(i, n) { 
if (!trolley_obj.Rows[i]['HasStock']) { 
not_exist_prod += trolley_obj.Rows[i]['ProductName'] + " <br>"; 
not_exist_prodid.push(trolley_obj.Rows[i]['ProductID']); 

if (trolley_obj.Rows[i]['ProductNum'] > trolley_obj.Rows[i]['Fororder']) { 
     over_order += trolley_obj.Rows[i]['ProductName'] + " <br>"; 
     } 
     prodcount += Number(trolley_obj.Rows[i]['ProductNum']); 
}) 

求的是json写法,return_dt返回的就是一个dt,json 格式如何写才能是对的呢?
 下面这个格式是我写的:[{ "TABLE":[{ "ROW":[ { "COL":[ {"DATA":"52"},{"DATA":"100"},{"DATA":"北京老布鞋二代"},{"DATA":"100"}]} ]}]}],不正确
--------------------编程问答--------------------     function refersh_shopping_call_back(return_dt) {
        debugger;
        trolley_obj = return_dt;
        var prodcount = 0;
        debugger;
        $.each(trolley_obj.Rows, function(i, n) {
            if (!trolley_obj.Rows[i]['HasStock']) {
                not_exist_prod += trolley_obj.Rows[i]['ProductName'] + "<br>";
                not_exist_prodid.push(trolley_obj.Rows[i]['ProductID']);
            }
            if (trolley_obj.Rows[i]['ProductNum'] > trolley_obj.Rows[i]['Fororder']){
                over_order += trolley_obj.Rows[i]['ProductName'] + "<br>";
            }
            prodcount += Number(trolley_obj.Rows[i]['ProductNum']);
        })

        $('#fldiv .fldivstate div:first span:first').text(prodcount);
        $('#trolley span:first').text(prodcount);

        if (para == 1) {
            add_Shoping_car_call_back(return_dt);
        }
        if (is_car_exist == 1) {
            showCar();
        }
    } --------------------编程问答--------------------

这代码怎么看呀 --------------------编程问答-------------------- http://topic.csdn.net/u/20100116/10/0aef0c0b-4bc5-47a4-a25b-a07f3e95031b.html --------------------编程问答--------------------  System.Web.Script.Serialization.JavaScriptSerializer j = new System.Web.Script.Serialization.JavaScriptSerializer();
            Response.Write(j.Serialize(obj对象));
            Response.End(); --------------------编程问答-------------------- Response.Write("[\"cool:[{'test':52}]\"]");这种格式时候,能得到返回值,但是不是dt,不可能有什么trolley_obj.Rows属性呀,我用了很多datatabletojson的转换方法,转化后格式都不对,没有返回值,还报格式错误 --------------------编程问答--------------------
引用 8 楼 telankes2000 的回复:
http://topic.csdn.net/u/20100116/10/0aef0c0b-4bc5-47a4-a25b-a07f3e95031b.html

bisu已經洗完去了哇 哈哈哈哈 --------------------编程问答--------------------
引用 9 楼 flybisu 的回复:
System.Web.Script.Serialization.JavaScriptSerializer j = new System.Web.Script.Serialization.JavaScriptSerializer();
             Response.Write(j.Serialize(obj对象));
             Response.End();

BISU已經洗碗去了哇哈哈哈哈哈哈 --------------------编程问答--------------------  StringBuilder retVal = new StringBuilder();
        retVal.Append("{list:[");
        using (SqlDataReader reader = db.ExecuteReader(CommandType.Text, sql))
        {
            while (reader.Read())
            {
                retVal.Append("{");
                for (int i = 0; i < reader.FieldCount; i++)
                {
                    retVal.AppendFormat("{0}:'{1}'{2}", reader.GetName(i).Trim(), reader[i].ToString().Trim(), i == reader.FieldCount - 1 ? "" : ",");
                }
                retVal.Append("},");
            }
        }
        retVal.Remove(retVal.Length - 1, 1);
        retVal.Append("]}");
        return retVal.ToString();
这种格式不对,根据这个function返回的是一个datatable结构的json串,但是好多这样的方法转化后,格式都是不正确的哦 --------------------编程问答-------------------- 例如这种格式就是我的一个DataTableToJson方法生成的:

[{"ProductID":"52","HasStock":"100","ProductName":"北京老布鞋二代","ProductNum":"100"}],
这种数据在return_dt中返回的是null --------------------编程问答-------------------- [{"ProductID":"52","HasStock":"100","ProductName":"北京老布鞋二代","ProductNum":"100"}]
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,