如何在Java中生成随机JSON字符串?
我想测试ApacheKafka的一个特性,所以我需要用Java生成随机JSON字符串(我的生产数据是JSON格式) 我用谷歌搜索了一下,发现了以下网站:如何在Java中生成随机JSON字符串?,java,json,testing,Java,Json,Testing,我想测试ApacheKafka的一个特性,所以我需要用Java生成随机JSON字符串(我的生产数据是JSON格式) 我用谷歌搜索了一下,发现了以下网站: 这些不是最好的答案 在ruby中,可以生成假数据 在Java中,哪个库可以生成假数据?哪个库可以生成假JSON字符串?签出这个开源java库。 基于您的_模型,可以使用注释生成随机数据 Generator<YOUR_MODEL_CLASS> generator = new Generator<>(YOUR_MOD
在Java中,哪个库可以生成假数据?哪个库可以生成假JSON字符串?签出这个开源java库。 基于您的_模型,可以使用注释生成随机数据
Generator<YOUR_MODEL_CLASS> generator = new Generator<>(YOUR_MODEL_CLASS.class);
List<YOUR_MODEL_CLASS> fakeObj = generator.generate(NO_OF_RECORDS);
Gson gson = new Gson();
String jsonString = gson.toJson(fakeObj);
Generator Generator=新发电机(您的\u MODEL\u CLASS.CLASS);
List fakeObj=generator.generate(没有记录);
Gson Gson=新的Gson();
字符串jsonString=gson.toJson(fakeObj);
有许多内置注释可用,我们可以根据您的_MODEL_类中定义的实例变量进行设置。请参阅库页面上的指南。您可以使用这些注释。这是一个专门生成各种“假”数据的图书馆。看看你能“伪造”什么以及如何伪造
有一个示例向您展示了如何生成随机JSON:
MockNeat mockNeat = MockNeat.threadLocal();
Gson gson = new GsonBuilder()
.setPrettyPrinting()
.create();
String json = mockNeat
.reflect(UserProfile.class)
.field("name", mockNeat.names().full())
.field("userName", mockNeat.users())
.field("email", mockNeat.emails())
.field("profiles",
mockNeat.reflect(Profile.class)
.field("profileId", mockNeat.ints().range(100, 1000))
.field("profileAdded", mockNeat.localDates().toUtilDate())
.list(2))
.map(gson::toJson) /* Transforms the UserProfile class into a 'pretty' json. */
.val();
System.out.println(json);
给出的结果是(当然,每次的结果都不同):
稍后编辑:
生成json的新首选方式如下:
免责声明:我是库的作者。我有完全相同的要求,最终建立了自己的库-但是,如果您想将数据流传输到Kafka,您可以使用以下内容,而不是使用库和编写自己的代码-
{
"name": "Cecila Starbird",
"userName": "moistben",
"email": "randiexyst@hotmail.co.uk",
"profiles": [
{
"profileId": 964,
"profileAdded": "Mar 19, 1973 12:00:00 AM"
},
{
"profileId": 854,
"profileAdded": "Jun 3, 1978 12:00:00 AM"
}
]
}