我Gson
用来将Java对象序列化/反序列化为json。我想在中显示它UI
,并且需要一个架构来做出更好的描述。这将允许我编辑对象并添加比实际更多的数据。
可以Gson
提供json模式吗?
是否有其他框架具有该功能?
Gson库可能不包含类似的功能,但是您可以尝试使用Jackson库和jackson-
module-jsonSchema
模块解决您的问题。例如,对于以下类别:
class Entity {
private Long id;
private List<Profile> profiles;
// getters/setters
}
class Profile {
private String name;
private String value;
// getters / setters
}
这个程序:
import java.io.IOException;
import java.util.List;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.module.jsonSchema.JsonSchema;
import com.fasterxml.jackson.module.jsonSchema.factories.SchemaFactoryWrapper;
public class JacksonProgram {
public static void main(String[] args) throws IOException {
ObjectMapper mapper = new ObjectMapper();
SchemaFactoryWrapper visitor = new SchemaFactoryWrapper();
mapper.acceptJsonFormatVisitor(Entity.class, visitor);
JsonSchema schema = visitor.finalSchema();
System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(schema));
}
}
打印以下架构:
{
"type" : "object",
"properties" : {
"id" : {
"type" : "integer"
},
"profiles" : {
"type" : "array",
"items" : {
"type" : "object",
"properties" : {
"name" : {
"type" : "string"
},
"value" : {
"type" : "string"
}
}
}
}
}
}
问题内容: 我的项目中有一些模型类,例如,等等,它们具有多个字段及其setter-getter方法,我需要 通过套接字 与客户端和服务器之间 来回交换这些类的对象作为JSONObject 。 有什么方法可以直接从模型类的对象创建,以使对象的字段成为键,而该模型类对象的值成为此JSONObject的值。 例: 我创建JSON对象为: 这让我有点像: 请注意,在我的某些模型类中,某些属性本身 是其他模
我将JSON文件&JSON模式解析为AVRO模式。我有点困惑,我是否必须使用AVRO文档中定义的数据类型来编写手动AVRO模式。 或者是否有任何自动化的方法/函数/程序可以完全按照要求工作?
有没有办法将数据帧模式序列化为json并在以后反序列化? 用例很简单:我有一个json配置文件,其中包含我需要读取的数据帧的模式。我希望能够从现有模式(在数据帧中)创建默认配置,并希望能够通过从json字符串读取来生成稍后使用的相关模式。
问题内容: 我正在尝试使用jQuery UI创建动态菜单。 我将从JSON文件中获取条目并创建菜单项。在大规模尝试之前,我决定做一个小演示。这是我的小提琴,它按照我想要的方式工作。现在,我无法将其与JSON文件一起使用。 工作场所 这是JSON 我如何使用JSON中的值设计我的整个菜单,其中Li类似于以下内容。 编辑: 这个问题听起来好像我还没有尝试过,但是我已经尝试过。它只是我无法理解的JSON
问题内容: 我想获得像这样的Hashtable的JSON表示形式: 结果是: 但是,如果将JSON字符串转换回去,则不会得到HashTable,而会得到PSCustomObject。 那么,如何可靠地序列化上述Hashmap? 问题答案: $json = @{Path=”C:\temp”; Filter=”*.js”} | ConvertTo-Json