MediaWiki master
JsonContent Class Reference

JSON text content that can be viewed and edit directly by users. More...

Inherits TextContent.

Collaboration diagram for JsonContent:

Public Member Functions

 __construct ( $text, $modelId=CONTENT_MODEL_JSON)
 
 beautifyJSON ()
 Pretty-print JSON.
 
 getData ()
 Decodes the JSON string.
 
 isValid ()
 
 rootValueTable ( $val)
 Construct HTML table representation of any JSON value.
 
- Public Member Functions inherited from TextContent
 convert ( $toModel, $lossy='')
 This implementation provides lossless conversion between content models based on TextContent.
 
 copy ()
 
 diff (Content $that, Language $lang=null)
 Diff this content object with another content object.
 
 getNativeData ()
 Returns the text represented by this Content object, as a string.
 
 getSize ()
 Returns the text's size in bytes.
 
 getText ()
 Returns the text represented by this Content object, as a string.
 
 getTextForSearchIndex ()
 Returns the text represented by this Content object, as a string.
 
 getTextForSummary ( $maxlength=250)
 
 getWikitextForTransclusion ()
 Returns attempts to convert this content object to wikitext, and then returns the text string.
 
 isCountable ( $hasLinks=null)
 Returns true if this content is not a redirect, and $wgArticleCountMethod is "any".
 
- Public Member Functions inherited from AbstractContent
 __construct ( $modelId=null)
 
 addSectionHeader ( $header)
 
 equals (Content $that=null)
 Decides whether two Content objects are equal.
 
 getContentHandler ()
 
 getDefaultFormat ()
 
 getModel ()
 
 getRedirectTarget ()
 Subclasses that implement redirects should override this.
 
 getSection ( $sectionId)
 
 getSupportedFormats ()
 
 isEmpty ()
 
 isRedirect ()
 
 isSupportedFormat ( $format)
 
 matchMagicWord (MagicWord $word)
 This default implementation always returns false.
 
 replaceSection ( $sectionId, Content $with, $sectionTitle='')
 
 serialize ( $format=null)
 
 updateRedirect (Title $target)
 This default implementation always returns $this.
 

Protected Member Functions

 arrayRow ( $val)
 Create HTML table row representing the value in an array.
 
 arrayTable ( $mapping)
 Create HTML table representing a JSON array.
 
 objectRow ( $key, $val)
 Create HTML table row representing one object property.
 
 objectTable ( $mapping)
 Create HTML table representing a JSON object.
 
 primitiveValue ( $val)
 Construct text representing a JSON primitive value.
 
 valueCell ( $val)
 Construct HTML table cell representing any JSON value.
 
- Protected Member Functions inherited from AbstractContent
 checkFormat ( $format)
 
 checkModelID ( $modelId)
 
 equalsInternal (Content $that)
 Checks whether $that is logically equal to this Content object.
 
 getContentHandlerFactory ()
 

Protected Attributes

Status $jsonParse
 
- Protected Attributes inherited from TextContent
string $mText
 
- Protected Attributes inherited from AbstractContent
string $model_id
 Name of the content model this Content object represents.
 

Additional Inherited Members

- Static Public Member Functions inherited from TextContent
static normalizeLineEndings ( $text)
 Do a "\\r\\n" -> "\\n" and "\\r" -> "\\n" transformation as well as trim trailing whitespace.
 

Detailed Description

JSON text content that can be viewed and edit directly by users.

Since
1.24
Stability: newable
Stability: stable
to extend

Definition at line 22 of file JsonContent.php.

Constructor & Destructor Documentation

◆ __construct()

JsonContent::__construct ( $text,
$modelId = CONTENT_MODEL_JSON )
Parameters
string$textJSON
string$modelId
Stability: stable
to call

Reimplemented from TextContent.

Definition at line 35 of file JsonContent.php.

Member Function Documentation

◆ arrayRow()

JsonContent::arrayRow ( $val)
protected

Create HTML table row representing the value in an array.

Parameters
mixed$val
Returns
string HTML.

Definition at line 170 of file JsonContent.php.

References valueCell().

Referenced by arrayTable().

◆ arrayTable()

JsonContent::arrayTable ( $mapping)
protected

Create HTML table representing a JSON array.

Parameters
array$mapping
Returns
string HTML

Definition at line 144 of file JsonContent.php.

References arrayRow(), and wfMessage().

Referenced by rootValueTable(), and valueCell().

◆ beautifyJSON()

JsonContent::beautifyJSON ( )

Pretty-print JSON.

If called before validation, it may return JSON "null".

Returns
string

Definition at line 66 of file JsonContent.php.

References getData().

◆ getData()

JsonContent::getData ( )

Decodes the JSON string.

Note that this parses it without casting objects to associative arrays. Objects and arrays are kept as distinguishable types in the PHP values.

Returns
Status

Definition at line 47 of file JsonContent.php.

References TextContent\getText().

Referenced by beautifyJSON(), and isValid().

◆ isValid()

JsonContent::isValid ( )
Returns
bool Whether content is valid.

Reimplemented from AbstractContent.

Definition at line 55 of file JsonContent.php.

References getData().

◆ objectRow()

JsonContent::objectRow ( $key,
$val )
protected

Create HTML table row representing one object property.

Parameters
string$key
mixed$val
Returns
string HTML.

Definition at line 131 of file JsonContent.php.

References valueCell().

Referenced by objectTable().

◆ objectTable()

JsonContent::objectTable ( $mapping)
protected

Create HTML table representing a JSON object.

Parameters
stdClass$mapping
Returns
string HTML

Definition at line 104 of file JsonContent.php.

References objectRow(), and wfMessage().

Referenced by rootValueTable(), and valueCell().

◆ primitiveValue()

JsonContent::primitiveValue ( $val)
protected

Construct text representing a JSON primitive value.

Parameters
mixed$val
Returns
string Text.

Definition at line 199 of file JsonContent.php.

Referenced by rootValueTable(), and valueCell().

◆ rootValueTable()

JsonContent::rootValueTable ( $val)

Construct HTML table representation of any JSON value.

See also valueCell, which is similar.

Parameters
mixed$val
Returns
string HTML.

Definition at line 78 of file JsonContent.php.

References arrayTable(), objectTable(), and primitiveValue().

◆ valueCell()

JsonContent::valueCell ( $val)
protected

Construct HTML table cell representing any JSON value.

Parameters
mixed$val
Returns
string HTML.

Definition at line 181 of file JsonContent.php.

References arrayTable(), objectTable(), and primitiveValue().

Referenced by arrayRow(), and objectRow().

Member Data Documentation

◆ $jsonParse

Status JsonContent::$jsonParse
protected
Since
1.25

Definition at line 28 of file JsonContent.php.


The documentation for this class was generated from the following file: