This action will force synchronization from wenshao/fastjson2, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
FASTJSON v2
is an upgrade of the FASTJSON
, with the goal of providing a highly optimized JSON
library for the next ten years.
Graal Native-Image
JSON Schema
https://alibaba.github.io/fastjson2/json_schema_cn
Related Documents:
JSONB
format documentation:FASTJSON v2
's performance has been significantly improved. For the benchmark, see here:FASTJSONv2
's groupId is different from versions 1.x
, it is instead com.alibaba.fastjson2
:
Maven
:
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.34</version>
</dependency>
Gradle
:
dependencies {
implementation 'com.alibaba.fastjson2:fastjson2:2.0.34'
}
Find the latest version of FASTJSONv2
at maven.org.
If you are using fastjson 1.2.x
, you can use the compatibility package. The compatibility package cannot guarantee 100% compatibility. Please test it yourself and report any problems.
Maven
:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.34</version>
</dependency>
Gradle
:
dependencies {
implementation 'com.alibaba:fastjson:2.0.34'
}
Kotlin
integration module fastjson-kotlin
If your project uses kotlin
, you can use the Fastjson-Kotlin
module, and use the characteristics of kotlin
.
Maven
:
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2-kotlin</artifactId>
<version>2.0.34</version>
</dependency>
<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.34")
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version")
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlin_version")
}
Extension
integration module fastjson-extension
If your project uses a framework such as SpringFramework
, you can use the fastjson-extension
module, please refer to the usage SpringFramework Support.
Maven
:
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2-extension</artifactId>
<version>2.0.34</version>
</dependency>
Gradle
:
dependencies {
implementation 'com.alibaba.fastjson2:fastjson2-extension:2.0.34'
}
The package name of fastjson v2
is different from fastjson v1
. It is com.alibaba.fastjson2
. If you used fastjson v1
before, simply change the package name.
JSON
into 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
JSON
into JSONArray
Java
:
String text = "...";
JSONArray data = JSON.parseArray(text);
Kotlin
:
import com.alibaba.fastjson2.*
val text = ... // String
val data = text.parseArray() // JSONArray
JSON
into a Java ObjectJava
:
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
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
JSONObject
, JSONArray
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);
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")
Java
:
JSONArray array = ...
JSONObject obj = ...
User user = obj.toJavaObject(User.class);
List<User> users = array.toJavaList(User.class);
Kotlin
:
val array = ... // JSONArray
val obj = ... // JSONObject
val user = obj.to<User>() // User
val users = array.toList<User>() // List<User>
JavaBean
to JSON
Java
:
class User {
public int id;
public String name;
}
User user = new User();
user.id = 2;
user.name = "FastJson2";
String text = JSON.toJSONString(user);
byte[] bytes = JSON.toJSONBytes(user);
Kotlin
:
class User(
var id: Int,
var name: String
)
val user = User()
user.id = 2
user.name = "FastJson2"
val text = user.toJSONString() // String
val bytes = user.toJSONByteArray() // ByteArray
Serialization result:
{
"id" : 2,
"name" : "FastJson2"
}
JSONB
JavaBean
to JSONB
User user = ...;
byte[] bytes = JSONB.toBytes(user);
byte[] bytes = JSONB.toBytes(user, JSONWriter.Feature.BeanToArray);
JSONB
to JavaBean
byte[] bytes = ...
User user = JSONB.parseObject(bytes, User.class);
User user = JSONB.parseObject(bytes, User.class, JSONReader.Feature.SupportBeanArrayMapping);
JSONPath
JSONPath
to read partial dataString text = ...;
JSONPath path = JSONPath.of("$.id"); // Cached for reuse
JSONReader parser = JSONReader.of(text);
Object result = path.extract(parser);
byte[]
data using JSONPath
byte[] bytes = ...;
JSONPath path = JSONPath.of("$.id"); // Cached for reuse
JSONReader parser = JSONReader.of(bytes);
Object result = path.extract(parser);
byte[]
data using JSONPath
byte[] bytes = ...;
JSONPath path = JSONPath.of("$.id"); // Cached for reuse
JSONReader parser = JSONReader.ofJSONB(bytes); // Use ofJSONB method
Object result = path.extract(parser);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。