我想将我的属性文件显示为json数组: 这是我的java代码:
props.setProperty("Info1", "stack1");
props.setProperty("Info2", "stack2");
我在属性文件中得到了什么:
Info1=stack1
Info2=stack2
这是想要获得的东西
var Obj = {}
Obj.dataset= [{ "Info1":"stack1" },{ "Info2"="stack2"}];
我尝试过Gson和JsonObject但是徒劳无功。 我该怎么办? 这不是一个重复的问题,因为我正在使用属性类,我已经尝试过的建议答案不起作用。
答案 0 :(得分:2)
您可以循环遍历属性并将键/值添加到Json数组,如下所示:
await context.PostAsync($"{BotResponses.IntroText}\n{BotResponses.IntroTip}");
答案 1 :(得分:1)
可以使用jackson
及其ObjectMapper完成此操作:
Properties props = new Properties();
props.setProperty("Info1", "stack1");
props.setProperty("Info2", "stack2");
ObjectMapper mapper = new ObjectMapper();
StringWriter writer = new StringWriter();
mapper.writeValue(writer, props);
System.out.println(writer.toString());
<强>输出:强>
{"Info2":"stack2","Info1":"stack1"}
这是一篇关于Jackson的好教程。
答案 2 :(得分:1)
您还可以使用以下内容:
Properties props=new Properties();
props.setProperty("Info1", "stack1");
props.setProperty("Info2", "stack2");
JSONArray array =new JSONArray();
Map map=new HashMap();
Iterator iter=props.keySet().iterator();
while (iter.hasNext()) {
String key=(String) iter.next();
String value=props.getProperty(key);
map.put(key, value);
}
array.put(map);
for (int i = 0; i < array.length(); i++) {
JSONObject obj=(JSONObject) array.get(i);
System.out.println(obj.toString());
}