原先的测试不全面,发觉class结构一复杂,反序列化时分析Json string出现了严重的效率问题。 多方求助也没有解决。 其间试了很多人的json实现(官方的两个,google到的一个,teddy的nbear里的)。
创新互联公司是一家集网站建设,准格尔企业网站建设,准格尔品牌网站建设,网站定制,准格尔网站建设报价,网络营销,网络优化,准格尔网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
- if ((b >= 0 && b <= 9) || b == . || b == - || b == +)
- { try {
- return Convert.ToInt32(s); }
- catch (Exception e) {
- string msg = e.Message; }
- try {
- return Convert.ToDouble(s, NumberFormatInfo.InvariantInfo);
- } catch (Exception e) {
- string msg = e.Message; } }
都有这个问题。 后来,一点点排查,先从一个最简单的分析Json string开始,逐渐往里面加属性测试。 ***发觉当我加入 a:1.01 时速度很慢,而 a:1 时速度正常。 然后才定位到问题所在: 官方代码:
- class test
- {
- var $var = 0;
- function add(){
- echo $var+10;
- }
- }
- $unserialize_var = new test;
- $serializeserialize_var = serialize($unserialize_var);
- echo $serialize_var;
- $unserialize_var = null;
- $unserializeunserialize_var = unserialize($serialize_var);
- $unserialize_var->add();
- $arr = array
- (
- 'Name'=>'Peter',
- 'Age'=>20
- );
- $jsonencode = json_encode($arr);
- echo $jsonencode;
这段代码在分析Json string里面会有严重的效率问题。 应该是C#的异常机制不完善造成的! 在java里,利用异常做这种工作对效率没有任何影响,(当然,也不提倡这么写,偷懒的行为)。
- '''
- ''' JSON 序列化。
- '''
- ''' name="Value">物件。
- Public Shared Function JsonSerialize(ByVal Value As Object) As String
- Dim oSerializer As System.Web.Script.Serialization.JavaScriptSerializer
- oSerializer = New System.Web.Script.Serialization.JavaScriptSerializer()
- Return oSerializer.Serialize(Value)
- End Function
- '''
- ''' JSON 反序列化。
- '''
- ''' name="Text">JSON 字符串。
- Public Shared Function JsonDeserialize(Of T)(ByVal Text As String) As T
- Dim oSerializer As System.Web.Script.Serialization.JavaScriptSerializer
- oSerializer = New System.Web.Script.Serialization.JavaScriptSerializer()
- Return oSerializer.Deserialize(Of T)(Text)
- End Function
标题名称:详细分析Jsonstring的相关问题
网站链接:http://www.shufengxianlan.com/qtweb/news17/225667.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联