PHP陣列序列化和JSON的效率比較

2022-08-30 17:06:18 字數 2455 閱讀 1138

由於需要把乙個陣列存進資料庫,所以考慮使用轉化成字串方法,方法基本上有兩種既serialize和json_encode。

兩種方法各有利弊,於是乎就對這倆討方法做了下測試。

serialize、unserialize與json_encode、json_decode比較

s是指序列化,即serialize、unserialize

j是json

源**:

<?php

array("i'm a goophp 是免費的,並且使用非常廣泛。同時,對於像微軟 asp 這樣的競爭者來說,php 無疑是另一種高效率的選項。php 極其適合**開發,其**可以直接嵌入 html **.",

"i'm a good boy.",

"a" => "php 是免費的,並且使用非常廣泛。同時,對於像微軟 asp 這樣的競爭者來說,php 無疑是另一種高效率的選項。php 極其適合**開發,其**可以直接嵌入 html **",

2 =>"php 是免費的,並且使用非常廣泛。同時,對於像微軟 asp 這樣的競爭者來說,php 無疑是另一種高效率的選項。php 極其適合**開發,其**可以直接嵌入 html **",

'php 是免費的,並且使用非常廣泛。同時,對於像微軟 asp 這樣的競爭者來說,php 無疑是另一種高效率的選項。php 極其適合**開發,其**可以直接嵌入 html **',

"i'm a good boy.",

"i'm a good boy.",

"i'm a good boy.",

"i'm a good boy.",

"i'm a good",

"asdfnsadofhasd");

?>

1、壓縮與反壓縮為一圈

s:1圈用時=>4.4822692871094e-5

j:1圈用時=>9.8943710327148e-5

s-j差值:-5.4121017456055e-5

s:10圈用時=>9.608268737793e-5

j:10圈用時=>0.00071501731872559

s-j差值:-0.00061893463134766

s:100圈用時=>0.00088191032409668

j:100圈用時=>0.0079631805419922

s-j差值:-0.0070812702178955

s:1000圈用時=>0.0086770057678223

j:1000圈用時=>0.071093082427979

s-j差值:-0.062416076660156

s:10000圈用時=>0.089351177215576

j:10000圈用時=>0.71031618118286

s-j差值:-0.62096500396729

s:100000圈用時=>0.89754796028137

j:100000圈用時=>7.0866401195526

s-j差值:-6.1890921592712

s:1000000圈用時=>8.7691621780396

j:1000000圈用時=>70.856695890427

s-j差值:-62.087533712387

s:10000000圈用時=>87.145391941071

2、僅反序列化或json_decode

s:1圈用時=>2.598762512207e-5

j:1圈用時=>8.2015991210938e-5

s-j差值:-5.6028366088867e-5

s:10圈用時=>4.4107437133789e-5

j:10圈用時=>0.00051689147949219

s-j差值:-0.0004727840423584

s:100圈用時=>0.00037717819213867

j:100圈用時=>0.0050899982452393

s-j差值:-0.0047128200531006

s:1000圈用時=>0.0039620399475098

j:1000圈用時=>0.052362203598022

s-j差值:-0.048400163650513

s:10000圈用時=>0.038861989974976

j:10000圈用時=>0.51281499862671

s-j差值:-0.47395300865173

s:100000圈用時=>0.38436698913574

j:100000圈用時=>5.1456820964813

s-j差值:-4.7613151073456

s:1000000圈用時=>3.8943638801575

j:1000000圈用時=>52.551742076874

s-j差值:-48.657378196716

從上面的測試可以看出序列化比json效率更高,先壓縮後解壓時s比j快9倍左右,如果只有解壓縮,s比j快15倍

Json序列化和反序列化

json測試 public class jsontest irun 實體序列化和反序列化 string json1 jsonhelper.serializeobject sdudent json1 student sdudent1 jsonhelper.deserializejsontoobject...

json陣列序列化與反序列化

前台有多組資料以json陣列 引數為modeljson 傳過來需要存入資料庫時 格式如下,每個花括號對應實體類user的相應字段 當以這種形式傳過來時,將其轉為list,再for迴圈進行儲存 listulist jsonutil.tolist modeljson,user.class for use...

JSON的序列化和反序列化

今天看了好多關於解析json的例子,但是都不全,而且還要自己找dll,於是自己寫了乙個全的json解析類,供以後參考 下面給出乙個要解析的字串 str str 1 解析json的工具類如下 1 在專案中新增引用 newtonsoft.json.dll,見附件 using system using s...