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

c# 接口 JOSN

需要用C# .net做一个接口:数据库查询出ID,Name然后转换成JOSN格式,返回给调用的就可以。

从来没有做过接口,对josn也不是很熟悉,自己尝试简单写了点,各位大侠帮忙看看,有类似例子的是否可以发给我参考参考,

不胜感激。

以下是我写的一些代码,希望可以用URL的形式调用,我返回JOSN格式的数据就行,给点意见:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MII.DAL;
using System.Data.SqlClient;
using MII.Web.Class;
using System.Text.RegularExpressions;
using System.Security.Cryptography;

namespace MII.Web.json
{
    interface Interface1             //创建接口  不知道这样写对不对
    {
        public string SelectArea()
        {
            string text = "";
            string sql = "SELECT  i.SID, i.nIName, s.sPID  FROM NodeInfo AS i LEFT OUTER JOIN NodeStruct AS s ON i.SID = s.SID";    //查询数据库
            DataTable dt = new DataTable();
            try
            {
                dt = DBOperators.SelectTable(sql);
                if (dt.Rows.Count != 0)
                {

                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        text += "{'ID':'"+dt.Rows[i]["SID"].ToString().Trim()+"','name':'"+dt.Rows[i]["nIName"].ToString().Trim()+"'},";   //将数据转换成JOSN格式  是否正确?

                    }

                }

            }
            catch (Exception ex)
            {

                throw ex;
            }

            //Response.Write(text);    想返回到请求的URL  这样写对吗?
        }
    }
} --------------------编程问答-------------------- --------------------编程问答-------------------- 没有高手会嘛? --------------------编程问答-------------------- 为什么不直接用json的序列号和反序列号呢


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Web.Script.Serialization;
using System.Runtime.Serialization.Json;
using System.IO;

namespace JD_EDM.EmailService.Utility.Serialize
{
    public class Json
    {
        public static string Serialize(Object model)
        {
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
            string strJson = javaScriptSerializer.Serialize(model);
            return strJson;
        }

        public static T Deserialize<T>(string json)
        {
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
            T model = javaScriptSerializer.Deserialize<T>(json);
            return model;
        }
    }
}


--------------------编程问答-------------------- 在。net里有相应的json插件,你可以吧json的dll引用到项目里,他们有一个专门的方法转义json格式的,好像是JavaScriptConvert.SerializeObject(“可以放集合也可以是datsset”);
这样类似的方法,你自己手写与不一定写的对。我建议你下载一个。 --------------------编程问答--------------------
引用 3 楼  的回复:
为什么不直接用json的序列号和反序列号呢


C# code


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Web.Script.Serialization;
using System.Runtime.Seriali……



不是很明白,没有用到过  能具体给个例子吗? --------------------编程问答-------------------- http://nonocast.cn/object-serializer/ --------------------编程问答--------------------  string content = "{\"total\":" + dt.Rows.Count + ",\"rows\":[";

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                content += "{\"idXl\":\"" + dt.Rows[i]["idXl"].ToString() + "\",";
                content += "\"id_Da\":\"" + dt.Rows[i]["id_Da"].ToString() + "\",";
                content += "\"xz\":\"" + dt.Rows[i]["xz"].ToString() + "\",";
                content += "\"zy\":\"" + dt.Rows[i]["zy"].ToString() + "\"},";

            }

            content = content.TrimEnd(',') + "]}";
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,