在 Ballerina 中将字符串转换为 Json
Convert String to Json in Ballerina
有没有办法在 Ballerina 中将 string
转换为 json
?
我发现 this PR - Add jsons:parse() method to get a JSON from a string 说添加支持以将 string
解析为 json
,但找不到任何示例。
我尝试了以下方法:
string person = {"name":"John", "address":{"number":89, "street":"main street", "town": "Colombo"}};
json personJson = sons:parse(person);
但是它给了我一个错误:
undefined package 'jsons'
undefined function 'parse'
在 ballerina 中将 string
转换为 json
的正确方法是使用 StringReader
中的 readJson
函数。您尝试的是一种不再支持的旧方法。
以下示例显示了如何使用 StringReader
.
import ballerina/io;
public function main(string... args) {
string str = "{\"name\":\"John\", \"address\":{\"number\":89, \"street\":\"main street\", \"town\":\"Colombo\"}}";
io:StringReader sr = new(str, encoding = "UTF-8");
json j = check sr.readJson();
io:println(j);
}
有关 StringReader
的更多信息可以从文档中找到 - https://ballerina.io/learn/api-docs/ballerina/io.html#StringReader
从 Ballerina swan lake 开始,您可以使用 fromJsonString()
方法将字符串转换为 json:
string jsonStr = "{\"key\": \"value\"}";
json|error converted = jsonStr.fromJsonString();
if (converted is error) {
io:println("Error in parsing json");
} else {
io:println(converted);
}
有没有办法在 Ballerina 中将 string
转换为 json
?
我发现 this PR - Add jsons:parse() method to get a JSON from a string 说添加支持以将 string
解析为 json
,但找不到任何示例。
我尝试了以下方法:
string person = {"name":"John", "address":{"number":89, "street":"main street", "town": "Colombo"}};
json personJson = sons:parse(person);
但是它给了我一个错误:
undefined package 'jsons'
undefined function 'parse'
在 ballerina 中将 string
转换为 json
的正确方法是使用 StringReader
中的 readJson
函数。您尝试的是一种不再支持的旧方法。
以下示例显示了如何使用 StringReader
.
import ballerina/io;
public function main(string... args) {
string str = "{\"name\":\"John\", \"address\":{\"number\":89, \"street\":\"main street\", \"town\":\"Colombo\"}}";
io:StringReader sr = new(str, encoding = "UTF-8");
json j = check sr.readJson();
io:println(j);
}
有关 StringReader
的更多信息可以从文档中找到 - https://ballerina.io/learn/api-docs/ballerina/io.html#StringReader
从 Ballerina swan lake 开始,您可以使用 fromJsonString()
方法将字符串转换为 json:
string jsonStr = "{\"key\": \"value\"}";
json|error converted = jsonStr.fromJsonString();
if (converted is error) {
io:println("Error in parsing json");
} else {
io:println(converted);
}