1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wenshao-fastjson2

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README_EN.md

FASTJSON v2

FASTJSON v2 — это обновление FASTJSON, цель которого — предоставить высокооптимизированную библиотеку JSON на следующие десять лет.

  • Поддерживает протоколы JSON и JSONB.
  • Поддерживает полный и частичный парсинг.
  • Подходит для серверов Java и клиентов Android, а также для приложений с большими данными.
  • Поддерживает Kotlin (https://alibaba.github.io/fastjson2/kotlin_en).
  • Поддерживает Android 8+.
  • Поддерживает Graal Native-Image.
  • Поддерживает JSON Schema (https://alibaba.github.io/fastjson2/json_schema_cn).

Логотип fastjson

Связанные документы:

1. Подготовка

1.1 Загрузка

GroupId FASTJSONv2 отличается от версий 1.x, вместо этого он называется com.alibaba.fastjson2:

Maven:

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2</artifactId>
    <version>2.0.51</version>
</dependency>

Gradle:

dependencies {
    implementation 'com.alibaba.fastjson2:fastjson2:2.0.51'
}

Найдите последнюю версию FASTJSONv2 на maven.org (https://search.maven.org/artifact/com.alibaba.fastjson2/fastjson2).

1.2 Другие модули

Совместимость с fastjson-v1

Если вы используете fastjson 1.2.x, вы можете использовать пакет совместимости. Пакет совместимости не может гарантировать 100% совместимость. Пожалуйста, проверьте его самостоятельно и сообщите о любых проблемах.

Maven:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.51</version>
</dependency>

Gradle: Зависимости

groovy

dependencies {
    implementation 'com.alibaba:fastjson:2.0.51'
}

Модуль интеграции Kotlin fastjson-kotlin

Если ваш проект использует Kotlin, вы можете использовать модуль Fastjson-Kotlin и использовать возможности Kotlin.

Maven:

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-kotlin</artifactId>
    <version>2.0.51</version>
</dependency>

Добавьте стандартную библиотеку (kotlin-stdlib) и библиотеку отражения (kotlin-reflect) по мере необходимости. Если используется класс данных или параметры передаются через конструктор, добавьте библиотеку отражения.

<dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-stdlib</artifactId>
    <version>${kotlin-version}</version>
</dependency>

<dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-reflect</artifactId>
    <version>${kotlin-version}</version>
</dependency>

Kotlin Gradle:

dependencies {
    implementation("com.alibaba.fastjson2:fastjson2-kotlin:2.0.51")
}
dependencies {
    implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version")
    implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlin_version")
}

Модуль расширения интеграции fastjson-extension

Если в вашем проекте используется фреймворк, такой как SpringFramework, вы можете использовать модуль fastjson-extension. Обратитесь к разделу «Использование» (docs/spring_support_en.md).

Maven:

<dependency>
    <groupId>com.alibaba.fastjson2</groupId>
    <artifactId>fastjson2-extension</artifactId>
    <version>2.0.51</version>
</dependency>

Gradle:

dependencies {
    implementation 'com.alibaba.fastjson2:fastjson2-extension:2.0.51'
}

2. Использование

Имя пакета fastjson v2 отличается от fastjson v1. Оно называется com.alibaba.fastjson2. Если вы раньше использовали fastjson v1, просто измените имя пакета.

2.1 Разбор JSON в JSONObject

Java:

String text = "...";
JSONObject data = JSON.parseObject(text);

byte[] bytes = ...;
JSONObject data = JSON.parseObject(bytes);

Kotlin:

import com.alibaba.fastjson2.*

val text = ... // String
val data = text.parseObject()

val bytes = ... // ByteArray
val data = bytes.parseObject() // JSONObject

2.2 Разбор JSON в JSONArray

Java:

String text = "...";
JSONArray data = JSON.parseArray(text);

Kotlin:

import com.alibaba.fastjson2.*

val text = ... // String
val data = text.parseArray() // JSONArray

2.3 Разбор JSON в объект Java

Java:

String text = "...";
User data = JSON.parseObject(text, User.class);

Kotlin:

import com.alibaba.fastjson2.*

val text = ... // String
val data = text.to<User>() // User
val data = text.parseObject<User>() // User

2.4 Сериализация объекта Java в JSON

Java:

Object data = "...";
String text = JSON.toJSONString(data);
byte[] text = JSON.toJSONBytes(data);

Kotlin:

import com.alibaba.fastjson2.*

val data = ... // Any
val text = text.toJSONString() // String
val bytes = text.toJSONByteArray() // ByteArray

2.5 Использование JSONObject, JSONArray

2.5.1 Получение простого свойства

String text = "{\"id\": 2,\"name\": \"fastjson2\"}";
JSONObject obj = JSON.parseObject(text);

int id = obj.getIntValue("id");
String name = obj.getString("name");
String text = "[2, \"fastjson2\"]";
JSONArray array = JSON.parseArray(text);

int id = array.getIntValue(0);
String name = array.getString(1);

2.5.2 Получение JavaBean

Java:

JSONArray array = ...
JSONObject obj = ...

User user = array.getObject(0, User.class);
User user = obj.getObject("key", User.class);

Kotlin:

val array = ... // JSONArray
val obj = ... // JSONObject

val user = array.to<User>(0)
val user = obj.to<User>("key")

2.5.3 Преобразование в JavaBean

Java:

JSONArray array = ...
JSONObject obj = ...

User user = obj.toJavaObject(User.class);
List<User> users =

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Java и 3 других языков
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/wenshao-fastjson2.git
git@api.gitlife.ru:oschina-mirror/wenshao-fastjson2.git
oschina-mirror
wenshao-fastjson2
wenshao-fastjson2
main