# ModelCodec

Summary:[Methods](https://developer.android.com/reference/android/support/test/espresso/web/model/ModelCodec#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/support/test/espresso/web/model/ModelCodec#inhmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/test/espresso/web/model/ModelCodec#)  

# ModelCodec

| This package is part of the Android[support library](https://developer.android.com/topic/libraries/support-library)which is no longer maintained. The support library has been superseded by[AndroidX](https://developer.android.com/jetpack/androidx)which is part of[Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider[migrating](https://developer.android.com/jetpack/androidx/migrate)existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library[class mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).

`
public

final

class
ModelCodec
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object.html)`


``


`

|---|----------------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) ||
| ↳ | android.support.test.espresso.web.model.ModelCodec |

<br />

*** ** * ** ***

Encodes/Decodes JSON.

## Summary

|                                                                                                                                                                                                                                                                            ### Public methods                                                                                                                                                                                                                                                                             ||
|--------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` static void`                                                                                                     | ` `[addDeJSONFactory](https://developer.android.com/reference/android/support/test/espresso/web/model/ModelCodec#addDeJSONFactory(android.support.test.espresso.web.model.JSONAble.DeJSONFactory))`(`[JSONAble.DeJSONFactory](https://developer.android.com/reference/android/support/test/espresso/web/model/JSONAble.DeJSONFactory)` dejson) ` Adds a DeJSONFactory to intercept JSONObjects and replace them with more suitable types.             |
| ` static `[Evaluation](https://developer.android.com/reference/android/support/test/espresso/web/model/Evaluation) | ` `[decodeEvaluation](https://developer.android.com/reference/android/support/test/espresso/web/model/ModelCodec#decodeEvaluation(java.lang.String))`(`[String](https://developer.android.com/reference/java/lang/String.html)` json) ` Transforms a JSON string to an evaluation.                                                                                                                                                                    |
| ` static `[String](https://developer.android.com/reference/java/lang/String.html)                                  | ` `[encode](https://developer.android.com/reference/android/support/test/espresso/web/model/ModelCodec#encode(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object.html)` javaObject) ` Encodes a Java Object into a JSON string.                                                                                                                                                                                   |
| ` static void`                                                                                                     | ` `[removeDeJSONFactory](https://developer.android.com/reference/android/support/test/espresso/web/model/ModelCodec#removeDeJSONFactory(android.support.test.espresso.web.model.JSONAble.DeJSONFactory))`(`[JSONAble.DeJSONFactory](https://developer.android.com/reference/android/support/test/espresso/web/model/JSONAble.DeJSONFactory)` dejson) ` Removes a DeJSONFactory from the list of factories that transform JSONObjects to java objects. |

| ### Inherited methods |
|-----------------------|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/test/espresso/web/model/ModelCodec#)From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object.html)` ` |-------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object.html)          | ` clone() `                                                                                | | ` boolean`                                                                          | ` equals(`[Object](https://developer.android.com/reference/java/lang/Object.html)` arg0) ` | | ` void`                                                                             | ` finalize() `                                                                             | | ` final `[Class](https://developer.android.com/reference/java/lang/Class.html)`<?>` | ` getClass() `                                                                             | | ` int`                                                                              | ` hashCode() `                                                                             | | ` final void`                                                                       | ` notify() `                                                                               | | ` final void`                                                                       | ` notifyAll() `                                                                            | | ` `[String](https://developer.android.com/reference/java/lang/String.html)          | ` toString() `                                                                             | | ` final void`                                                                       | ` wait(long arg0, int arg1) `                                                              | | ` final void`                                                                       | ` wait(long arg0) `                                                                        | | ` final void`                                                                       | ` wait() `                                                                                 | ||

## Public methods

### addDeJSONFactory

```
void addDeJSONFactory (JSONAble.DeJSONFactory dejson)
```

Adds a DeJSONFactory to intercept JSONObjects and replace them with more suitable types.

<br />

|                Parameters                 ||
|----------|---------------------------------|
| `dejson` | `JSONAble.DeJSONFactory` <br /> |

### decodeEvaluation

```
Evaluation decodeEvaluation (String json)
```

Transforms a JSON string to an evaluation.

<br />

|       Parameters        ||
|--------|-----------------|
| `json` | `String` <br /> |

|                                                     Returns                                                      ||
|----------------------------------------------------------------------------------------------------------|--------|
| [Evaluation](https://developer.android.com/reference/android/support/test/espresso/web/model/Evaluation) | <br /> |

### encode

```
String encode (Object javaObject)
```

Encodes a Java Object into a JSON string.

<br />

|          Parameters           ||
|--------------|-----------------|
| `javaObject` | `Object` <br /> |

|                                     Returns                                     ||
|-------------------------------------------------------------------------|--------|
| [String](https://developer.android.com/reference/java/lang/String.html) | <br /> |

### removeDeJSONFactory

```
void removeDeJSONFactory (JSONAble.DeJSONFactory dejson)
```

Removes a DeJSONFactory from the list of factories that transform JSONObjects to java objects.

<br />

|                Parameters                 ||
|----------|---------------------------------|
| `dejson` | `JSONAble.DeJSONFactory` <br /> |

-

  ## Interfaces

  - [Atom](https://developer.android.com/reference/android/support/test/espresso/web/model/Atom)
  - [JSONAble](https://developer.android.com/reference/android/support/test/espresso/web/model/JSONAble)
  - [JSONAble.DeJSONFactory](https://developer.android.com/reference/android/support/test/espresso/web/model/JSONAble.DeJSONFactory)
  - [TransformingAtom.Transformer](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom.Transformer)
-

  ## Classes

  - [Atoms](https://developer.android.com/reference/android/support/test/espresso/web/model/Atoms)
  - [ElementReference](https://developer.android.com/reference/android/support/test/espresso/web/model/ElementReference)
  - [Evaluation](https://developer.android.com/reference/android/support/test/espresso/web/model/Evaluation)
  - [ModelCodec](https://developer.android.com/reference/android/support/test/espresso/web/model/ModelCodec)
  - [SimpleAtom](https://developer.android.com/reference/android/support/test/espresso/web/model/SimpleAtom)
  - [TransformingAtom](https://developer.android.com/reference/android/support/test/espresso/web/model/TransformingAtom)
  - [WindowReference](https://developer.android.com/reference/android/support/test/espresso/web/model/WindowReference)
-

  ## Enums

  - [SimpleAtom.ElementReferencePlacement](https://developer.android.com/reference/android/support/test/espresso/web/model/SimpleAtom.ElementReferencePlacement)