<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns
="http://www.w3.org/1999/xhtml">
<!-- template designed by Marco Von Ballmoos -->
<
link rel="stylesheet" href="../media/stylesheet.css" />
<
meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
<
h2 class="class-name">
Class Services_JSON<
/h2>
<
a name="sec-description"><
/a>
<
div class="info-box-title">Description<
/div>
<
span class="disabled">Description<
/span> |
<
a href="#sec-method-summary">Methods<
/a>
(<
a href="#sec-methods">details<
/a>
)
<
div class="info-box-body">
<!-- ========== Info from phpDoc block ========= -->
<
p class="short-description">Converts to and from JSON format.<
/p>
<
p class="description"><
p>Brief example of use:<
/p><
p><
pre><
code><
pre><
br />
1 <
span class="src-comm">
// create a new instance of Services_JSON<
/span><
br />
2 <
span class="src-var">$json<
/span>
= <
span class="src-key">new<
/span> <
a href="../Services_JSON/Services_JSON.html#methodServices_JSON">Services_JSON<
/a><
span class="src-sym">
(<
/span><
span class="src-sym">
)<
/span>;<
br />
3 <
br />
4 <
span class="src-comm">
// convert a complexe
value to JSON notation, and send it to the browser<
/span><
br />
5 <
span class="src-var">$value<
/span>
= <
span class="src-key">array<
/span><
span class="src-sym">
(<
/span><
span class="src-str">
'foo'<
/span><
span class="src-sym">,<
/span> <
span class="src-str">
'bar'<
/span><
span class="src-sym">,<
/span> <
span class="src-key">array<
/span><
span class="src-sym">
(<
/span><
span class="src-num">
1<
/span><
span class="src-sym">,<
/span> <
span class="src-num">
2<
/span><
span class="src-sym">,<
/span> <
span class="src-str">
'baz'<
/span><
span class="src-sym">
)<
/span><
span class="src-sym">,<
/span> <
span class="src-key">array<
/span><
span class="src-sym">
(<
/span><
span class="src-num">
3<
/span><
span class="src-sym">,<
/span> <
span class="src-key">array<
/span><
span class="src-sym">
(<
/span><
span class="src-num">
4<
/span><
span class="src-sym">
)<
/span><
span class="src-sym">
)<
/span><
span class="src-sym">
)<
/span>;<
br />
6 <
span class="src-var">$output<
/span>
= <
span class="src-var">$json<
/span><
span class="src-sym">-><
/span><
a href="../Services_JSON/Services_JSON.html#methodencode">encode<
/a><
span class="src-sym">
(<
/span><
span class="src-var">$value<
/span><
span class="src-sym">
)<
/span>;<
br />
7 <
br />
8 print<
span class="src-sym">
(<
/span><
span class="src-var">$output<
/span><
span class="src-sym">
)<
/span>;<
br />
9 <
span class="src-comm">
// prints:
["foo","bar",
[1,
2,"baz"
],
[3,
[4]]]<
/span><
br />
10 <
br />
11 <
span class="src-comm">
// accept incoming POST
data, assumed to be in JSON notation<
/span><
br />
12 <
span class="src-var">$input<
/span>
= <
a href="http://www.php.net/file_get_contents">file_get_contents<
/a><
span class="src-sym">
(<
/span><
span class="src-str">
'php://input'<
/span><
span class="src-sym">,<
/span> <
span class="src-num">
1000000<
/span><
span class="src-sym">
)<
/span>;<
br />
13 <
span class="src-var">$value<
/span>
= <
span class="src-var">$json<
/span><
span class="src-sym">-><
/span><
a href="../Services_JSON/Services_JSON.html#methoddecode">decode<
/a><
span class="src-sym">
(<
/span><
span class="src-var">$input<
/span><
span class="src-sym">
)<
/span>;<
/pre><
/code><
/pre><
/p><
/p>
Located in <
a class="field" href="_JSON_php.html">
/JSON.php<
/a>
(line <
span class="field">
115<
/span>
)
<
a name="sec-method-summary"><
/a>
<
div class="info-box-title">
Method Summary<
/span><
/div>
<
a href="#sec-description">Description<
/a> |
<
span class="disabled">Methods<
/span>
(<
a href="#sec-methods">details<
/a>
)
<
div class="info-box-body">
<
div class="method-summary">
<
div class="method-definition">
<
span class="method-result">Services_JSON<
/span>
<
a href="#Services_JSON" title="details" class="method-name">Services_JSON<
/a>
<
div class="method-definition">
<
span class="method-result">mixed<
/span>
<
a href="#decode" title="details" class="method-name">decode<
/a>
<
div class="method-definition">
<
span class="method-result">mixed<
/span>
<
a href="#encode" title="details" class="method-name">encode<
/a>
<
div class="method-definition">
<
a href="#isError" title="details" class="method-name">isError<
/a>
<
a name="sec-methods"><
/a>
<
div class="info-box-title">Methods<
/div>
<
a href="#sec-description">Description<
/a> |
<
a href="#sec-method-summary">Methods<
/a>
(<
span class="disabled">details<
/span>
)
<
div class="info-box-body">
<
A NAME='method_detail'><
/A>
<
a name="methodServices_JSON" id="Services_JSON"><!-- --><
/a>
<
div class="method-header">
<
span class="method-title">Constructor Services_JSON<
/span>
(line <
span class="line-number">
133<
/span>
)
<!-- ========== Info from phpDoc block ========= -->
<
p class="short-description">constructs a new JSON instance<
/p>
<
div class="method-signature">
<
span class="method-result">Services_JSON<
/span>
<
span class="method-name">
Services_JSON
<
span class="var-name">$use<
/span><
span class="var-description">: <
p>
object behavior flags; combine with boolean-OR<
/p><
p>possible values: <
ul><
li>SERVICES_JSON_LOOSE_TYPE: loose typing.
"{...}" syntax creates associative arrays
instead of objects in decode
().<
/li><
li>SERVICES_JSON_SUPPRESS_ERRORS: error suppression.
Values which can't be encoded (e.g. resources)
appear as NULL instead of throwing errors.
By default, a deeply-nested resource will
bubble up with an error, so all return values
from encode() should be checked with isError()</li></ul></p></span> </li>
</ul>
</div>
<a name="methoddecode" id="decode"><!-- --></a>
<div class="oddrow">
<div class="method-header">
<span class="method-title">decode</span> (line <span class="line-number">484</span>)
</div>
<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">decodes a JSON string into appropriate variable</p>
<ul class="tags">
<li><span class="field">return:</span> number, boolean, string, array, or object corresponding to given JSON input string. See argument 1 to Services_JSON() above for object-output behavior. Note that decode() always returns strings in ASCII or UTF-8 format!</li>
<li><span class="field">access:</span> public</li>
</ul>
<div class="method-signature">
<span class="method-result">mixed</span>
<span class="method-name">
decode
</span>
(<span class="var-type">string</span> <span class="var-name">$str</span>)
</div>
<ul class="parameters">
<li>
<span class="var-type">string</span>
<span class="var-name">$str</span><span class="var-description">: JSON-formatted string</span> </li>
</ul>
</div>
<a name="methodencode" id="encode"><!-- --></a>
<div class="evenrow">
<div class="method-header">
<span class="method-title">encode</span> (line <span class="line-number">237</span>)
</div>
<!-- ========== Info from phpDoc block ========= -->
<p class="short-description">encodes an arbitrary variable into JSON format</p>
<ul class="tags">
<li><span class="field">return:</span> JSON string representation of input var or an error if a problem occurs</li>
<li><span class="field">access:</span> public</li>
</ul>
<div class="method-signature">
<span class="method-result">mixed</span>
<span class="method-name">
encode
</span>
(<span class="var-type">mixed</span> <span class="var-name">$var</span>)
</div>
<ul class="parameters">
<li>
<span class="var-type">mixed</span>
<span class="var-name">$var</span><span class="var-description">: any number, boolean, string, array, or object to be encoded. see argument 1 to Services_JSON() above for array-parsing behavior. if var is a strng, note that encode() always expects it to be in ASCII or UTF-8 format!</span> </li>
</ul>
</div>
<a name="methodisError" id="isError"><!-- --></a>
<div class="oddrow">
<div class="method-header">
<span class="method-title">isError</span> (line <span class="line-number">766</span>)
</div>
<!-- ========== Info from phpDoc block ========= -->
<ul class="tags">
<li><span class="field">todo:</span> Ultimately, this should just call PEAR::isError()</li>
</ul>
<div class="method-signature">
<span class="method-result">void</span>
<span class="method-name">
isError
</span>
(<span class="var-type">mixed</span> <span class="var-name">$data</span>, [<span class="var-type">mixed</span> <span class="var-name">$code</span> = <span class="var-default">null</span>])
</div>
</div>
</div>
</div>
<p class="notes" id="credit">
Documentation generated on Tue, 27 Jun 2006 22:54:25 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>
</p>
</div></body>
</html>