| 316 | } |
| 317 | |
| 318 | public static String Json(Object obj) { |
| 319 | if (obj == null) return null; |
| 320 | |
| 321 | // If it's an exception, return {"name":"ExceptionType"} like the C# version |
| 322 | if (obj instanceof Throwable t) { |
| 323 | Map<String, Object> error = new LinkedHashMap<>(); |
| 324 | error.put("name", t.getClass().getSimpleName()); |
| 325 | try { |
| 326 | return MAPPER.writeValueAsString(error); |
| 327 | } catch (JsonProcessingException e) { |
| 328 | // fallback |
| 329 | return "{\"name\":\"" + error.get("name") + "\"}"; |
| 330 | } |
| 331 | } |
| 332 | |
| 333 | try { |
| 334 | return MAPPER.writeValueAsString(obj); |
| 335 | } catch (JsonProcessingException e) { |
| 336 | throw new RuntimeException(e); |
| 337 | } |
| 338 | } |
| 339 | |
| 340 | // ------------------------------------------------- |
| 341 | // ordered (stub) |