且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用存储过程获取大量JSON结果 - 紧急!

更新时间:2022-10-30 11:18:22

嗨如何从OneDrive访问读写文件,


感谢您发布此处。


>> 1.字符串生成器可容纳的Json Result的最大值是什么?


stringBuilder的最大容量  是  Int32 MaxValue
但是,此值是特定于实现的,在其他或更高版本的实现中可能有所不同。您可以明确设置最大容量 
StringBuilder   object
通过调用 
StringBuilder (Int32,Int32)  构造函数。


有关详细信息,请参阅MSDN文章。


https://msdn.microsoft.com/en-us/library/system.text.stringbuilder.maxcapacity%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396


>> 2.如何在C#客户端处理大量的json结果?


你想对json结果做什么?


正常情况下,我们总是使用  Json.NET 解析json文件。或者你可以使用  JsonValue
Class


对于网络,您可以使用  DataContractJsonSerializer
Class
。对于silverlight,您可以使用 
JavaScriptSerializer
班级
JsonArray Class ,  JsonObject
Class


***的问候,


Wendy


Hi Team,

We are retrieving the records using the following query.

CREATE PROCEDURE ListAllHistoryWallBySearch
AS
BEGIN
 
   SELECT * FROM HistoryWall 
   WHERE 
   Isdeleted = 0 
   FOR JSON PATH, INCLUDE_NULL_VALUES

END


C#.NET CODE as follows:

--------------------------------------------------------------------------------------------------

StringBuilder mJsonResponse = new StringBuilder(10*100*1024);
mJsonResponse.Clear();
using (SqlDataReader reader = SqlHelper.ExecuteReader(ConnectionString, "[ListAllHistoryWallBySearch]", new object[0]))
{
   if (reader.HasRows)
   {
       while (reader.Read())
       {
           mJsonResponse.Append(reader[0].ToString());
       }
   }
   else
   {
    mJsonResponse.Append("[]");
   }
}
return mJsonResponse.ToString();

--------------------------------------------------------------------------------------------------

Please advise the above code OK? 

Questions:
1.What is the maximum of Json Result accomidate to string builder?
2.How to handle large volume of json results in C# client side?


Regards
Kannan



ERS

Hi How to access read write files from OneDrive,

Thank you for posting here.

>>1.What is the maximum of Json Result accomidate to string builder?

The Max Capacity of stringBuilder is Int32.MaxValue. However, this value is implementation-specific and might be different in other or later implementations. You can explicitly set the maximum capacity of a StringBuilder object by calling the StringBuilder(Int32, Int32) constructor.

For more details, please refer to the MSDN article.

https://msdn.microsoft.com/en-us/library/system.text.stringbuilder.maxcapacity%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

>>2.How to handle large volume of json results in C# client side?

What do you want to do for json results?

In normal, we always use Json.NET to parse json file. Or you could use JsonValue Class.

For web, you could use DataContractJsonSerializer Class. For silverlight, you could use JavaScriptSerializer ClassJsonArray ClassJsonObject Class.

Best Regards,

Wendy