如何使用C#将多个数据对象转换为JSON字符串? [英] How to convert multiple data object into JSON string using C#?

查看:368
本文介绍了如何使用C#将多个数据对象转换为JSON字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,

我想用C#将多个数据对象转换为JSON字符串。

喜欢.. 1 - 我有一个数据表,我从数据库中获取使用商店程序

和2-I这样的字符串(userType:1)。

我想要返回两个数据对象(表和字符串)我的json String。我怎么能这样做,任何想法...?



这是我的代码。

hello,
I want to get convert multiple data object into JSON string using C#.
Like.. 1-I have a data table which I get from database using store procedure
and 2-I have a string("userType:1") like this.
I want to return both of data object (table and string) in my json String. How can I do it, Any Idea...?

here is my Code.

[WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public string getLogin(string id, string password)
    {
        string json = "";
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
        try
        {
            con.Open();

            DataTable tblUserInfo = new DataTable();
            SqlDataAdapter da;
            da = new SqlDataAdapter("SP1_login ", con);
            da.SelectCommand.CommandType = CommandType.StoredProcedure;
            da.SelectCommand.Parameters.Add("@userId", SqlDbType.VarChar).Value = id;
            da.SelectCommand.Parameters.Add("@password", SqlDbType.VarChar).Value = password;
            da.SelectCommand.Parameters.Add("@retValue", System.Data.SqlDbType.Int).Direction = System.Data.ParameterDirection.ReturnValue;
            da.Fill(tblUserInfo);
            if (tblUserInfo.Rows.Count != 0)
            {   
                // Convert DataTable to JSON using JSON.Net DLL.         
                json = DataTableToJSONWithJSONNet(tblUserInfo);
            }
            else
            {
                string result = "2";
                json = new JavaScriptSerializer().Serialize(result);              
            }
        }
        catch (Exception ex)
        {
           
        }
        finally
        {
            con.Close();
        }
        return json;
    }



在上面的代码中JSON字符串只包含数据表



我是什么尝试过:



我想在用户登录时获取数据。

我想要返回JSON以便我得到< b>登录表中包含的用户信息,另一个对象是 UserType ,如本地用户或管理员或任何其他对象。



在客户端,我希望在JSON字符串中获取两个数据对象,一个是数据表,另一个是 UserType


In above code JSON string contains Only data table

What I have tried:

I am trying to get data at user login.
I want return JSON such that I get login User Information that contain in table and another object is UserType like local user or Admin or any other.

At client side I want to get two data object in JSON string One is Data table and another one is UserType

推荐答案

如果您使用的是JSON.NET,可以在两个JSON对象上调用Merge。



If you are using JSON.NET you can call Merge on two JSON Objects.

JObject obj1 = JObject.Parse(@"{
  'field1': 'value1',
  'field2': 'value2'
}");
JObject obj2 = JObject.Parse(@"{
  'field3': 'somevalue'
}");

obj1.Merge(obj2, new JsonMergeSettings { MergeArrayHandling = MergeArrayHandling.Concat });

string json = obj1.ToString();


3种方法将DataTable转换为ASP.NET C#中的JSON字符串 [ ^ ]


这篇关于如何使用C#将多个数据对象转换为JSON字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆