# A2uiJsonMessageParser

Artifact: [androidx.a2ui:a2ui-model](https://developer.android.com/jetpack/androidx/releases/a2ui) [View Source](https://cs.android.com/search?q=file:androidx/a2ui/model/processor/A2uiJsonMessageParser.kt+class:androidx.a2ui.model.processor.A2uiJsonMessageParser) Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui#1.0.0-alpha02)

*** ** * ** ***


```
public final class A2uiJsonMessageParser implements A2uiMessageParser<@NonNull String>
```

<br />

*** ** * ** ***

Parses JSON strings into `https://developer.android.com/reference/androidx/a2ui/model/protocol/A2uiServerToClientMessage` protocol messages.

Uses streaming `https://developer.android.com/reference/androidx/a2ui/model/processor/A2uiJsonReader`s to process inputs memory-efficiently.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/a2ui/model/processor/A2uiJsonMessageParser#A2uiJsonMessageParser(kotlin.Function1)( @https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/a2ui/model/processor/A2uiJsonReader> jsonReaderProvider )` |

| ### Public methods |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/a2ui/model/protocol/A2uiServerToClientMessage` | `https://developer.android.com/reference/androidx/a2ui/model/processor/A2uiJsonMessageParser#parse(kotlin.String)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html input)` Parses the `https://developer.android.com/reference/androidx/a2ui/model/processor/A2uiMessageParser#parse(kotlin.Any)` into an `https://developer.android.com/reference/androidx/a2ui/model/protocol/A2uiServerToClientMessage`. |

## Public constructors

### A2uiJsonMessageParser

```
public A2uiJsonMessageParser(
    @NonNull Function1<@NonNull String, @NonNull A2uiJsonReader> jsonReaderProvider
)
```

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull Function1<@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/lang/String.html, @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/a2ui/model/processor/A2uiJsonReader> jsonReaderProvider` | provides an `https://developer.android.com/reference/androidx/a2ui/model/processor/A2uiJsonReader` for a given JSON string |

## Public methods

### parse

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui#1.0.0-alpha02)

```
public @NonNull A2uiServerToClientMessage parse(@NonNull String input)
```

Parses the `https://developer.android.com/reference/androidx/a2ui/model/processor/A2uiMessageParser#parse(kotlin.Any)` into an `https://developer.android.com/reference/androidx/a2ui/model/protocol/A2uiServerToClientMessage`.

| Throws |
|---|---|
| `https://developer.android.com/reference/androidx/a2ui/model/protocol/A2uiException.A2uiValidationException` | if the input is malformed or invalid |