tbel: add gecodeToJson(String.class)
This commit is contained in:
parent
0c98b70216
commit
32fae3a4b6
@ -57,6 +57,8 @@ public class TbUtils {
|
|||||||
List.class)));
|
List.class)));
|
||||||
parserConfig.addImport("decodeToJson", new MethodStub(TbUtils.class.getMethod("decodeToJson",
|
parserConfig.addImport("decodeToJson", new MethodStub(TbUtils.class.getMethod("decodeToJson",
|
||||||
ExecutionContext.class, List.class)));
|
ExecutionContext.class, List.class)));
|
||||||
|
parserConfig.addImport("decodeToJson", new MethodStub(TbUtils.class.getMethod("decodeToJson",
|
||||||
|
ExecutionContext.class, String.class)));
|
||||||
parserConfig.addImport("stringToBytes", new MethodStub(TbUtils.class.getMethod("stringToBytes",
|
parserConfig.addImport("stringToBytes", new MethodStub(TbUtils.class.getMethod("stringToBytes",
|
||||||
ExecutionContext.class, String.class)));
|
ExecutionContext.class, String.class)));
|
||||||
parserConfig.addImport("stringToBytes", new MethodStub(TbUtils.class.getMethod("stringToBytes",
|
parserConfig.addImport("stringToBytes", new MethodStub(TbUtils.class.getMethod("stringToBytes",
|
||||||
@ -174,6 +176,9 @@ public class TbUtils {
|
|||||||
public static Object decodeToJson(ExecutionContext ctx, List<Byte> bytesList) throws IOException {
|
public static Object decodeToJson(ExecutionContext ctx, List<Byte> bytesList) throws IOException {
|
||||||
return TbJson.parse(ctx, bytesToString(bytesList));
|
return TbJson.parse(ctx, bytesToString(bytesList));
|
||||||
}
|
}
|
||||||
|
public static Object decodeToJson(ExecutionContext ctx, String jsonStr) throws IOException {
|
||||||
|
return TbJson.parse(ctx, jsonStr);
|
||||||
|
}
|
||||||
|
|
||||||
public static String bytesToString(List<Byte> bytesList) {
|
public static String bytesToString(List<Byte> bytesList) {
|
||||||
byte[] bytes = bytesFromList(bytesList);
|
byte[] bytes = bytesFromList(bytesList);
|
||||||
|
|||||||
@ -27,6 +27,7 @@ import org.mvel2.SandboxedParserConfiguration;
|
|||||||
import org.mvel2.execution.ExecutionArrayList;
|
import org.mvel2.execution.ExecutionArrayList;
|
||||||
import org.mvel2.execution.ExecutionHashMap;
|
import org.mvel2.execution.ExecutionHashMap;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -348,6 +349,24 @@ public class TbUtilsTest {
|
|||||||
Assert.assertEquals(0, Double.compare(doubleValRev, TbUtils.parseBytesToDouble(doubleVaList, 0, false)));
|
Assert.assertEquals(0, Double.compare(doubleValRev, TbUtils.parseBytesToDouble(doubleVaList, 0, false)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void parseBytesDecodeToJson() throws IOException {
|
||||||
|
String expectedStr = "{\"hello\": \"world\"}";
|
||||||
|
ExecutionHashMap<String, Object> expectedJson = new ExecutionHashMap<>(1, ctx);
|
||||||
|
expectedJson.put("hello", "world");
|
||||||
|
List<Byte> expectedBytes = TbUtils.stringToBytes(ctx, expectedStr);
|
||||||
|
Object actualJson = TbUtils.decodeToJson(ctx, expectedBytes);
|
||||||
|
Assert.assertEquals(expectedJson,actualJson);
|
||||||
|
}
|
||||||
|
@Test
|
||||||
|
public void parseStringDecodeToJson() throws IOException {
|
||||||
|
String expectedStr = "{\"hello\": \"world\"}";
|
||||||
|
ExecutionHashMap<String, Object> expectedJson = new ExecutionHashMap<>(1, ctx);
|
||||||
|
expectedJson.put("hello", "world");
|
||||||
|
Object actualJson = TbUtils.decodeToJson(ctx, expectedStr);
|
||||||
|
Assert.assertEquals(expectedJson,actualJson);
|
||||||
|
}
|
||||||
|
|
||||||
private static List<Byte> toList(byte[] data) {
|
private static List<Byte> toList(byte[] data) {
|
||||||
List<Byte> result = new ArrayList<>(data.length);
|
List<Byte> result = new ArrayList<>(data.length);
|
||||||
for (Byte b : data) {
|
for (Byte b : data) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user