tbel: add gecodeToJson(String.class)
This commit is contained in:
parent
0c98b70216
commit
32fae3a4b6
@ -57,6 +57,8 @@ public class TbUtils {
|
||||
List.class)));
|
||||
parserConfig.addImport("decodeToJson", new MethodStub(TbUtils.class.getMethod("decodeToJson",
|
||||
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",
|
||||
ExecutionContext.class, String.class)));
|
||||
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 {
|
||||
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) {
|
||||
byte[] bytes = bytesFromList(bytesList);
|
||||
|
||||
@ -27,6 +27,7 @@ import org.mvel2.SandboxedParserConfiguration;
|
||||
import org.mvel2.execution.ExecutionArrayList;
|
||||
import org.mvel2.execution.ExecutionHashMap;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.math.BigInteger;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.ArrayList;
|
||||
@ -348,6 +349,24 @@ public class TbUtilsTest {
|
||||
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) {
|
||||
List<Byte> result = new ArrayList<>(data.length);
|
||||
for (Byte b : data) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user