需要用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 这样写对吗?
}
}
}
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 这样写对吗?
}
}
}
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;
}
}
}
这样类似的方法,你自己手写与不一定写的对。我建议你下载一个。
{
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(',') + "]}";