Java 将属性文件元素显示为json数组

Java 将属性文件元素显示为json数组,java,properties,Java,Properties,我想将属性文件中的内容显示为json数组: 以下是我的java代码: props.setProperty("Info1", "stack1"); props.setProperty("Info2", "stack2"); 我在属性文件中得到了什么: Info1=stack1 Info2=stack2 这是我想要的 var Obj = {} Obj.dataset= [{ "Info1":"stack1" },{ "Info2"="stack2"}]; 我尝试使用Gson和JsonOb

我想将属性文件中的内容显示为json数组: 以下是我的java代码:

props.setProperty("Info1", "stack1");
props.setProperty("Info2", "stack2");
我在属性文件中得到了什么:

 Info1=stack1
 Info2=stack2
这是我想要的

var Obj =  {}
Obj.dataset= [{ "Info1":"stack1" },{ "Info2"="stack2"}];
我尝试使用Gson和JsonObject,但没有成功。 请问我该怎么办?
这不是一个重复的问题,因为我使用的是properties类,我已经尝试过的建议答案不起作用。

可以使用
jackson
完成,如下所示:

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
完成,如下所示:

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"}

这是一个很好的教程。

您可以循环属性并将键/值添加到Json数组,如下所示:

Properties props = new Properties();
props.setProperty("Info1", "stack1");
props.setProperty("Info2", "stack2");

Enumeration e = props.propertyNames();
JsonArray  jsonArray = new JSONArray();

while(e.hasMoreElements()) {
    String key = (String) e.nextElement();
    String value = props.getProperty(key);

    JSONObject jsonObject = new JSONObject();
    jsonObject.put(key, value);

    jsonArray.add(jsonObject);
}

System.out.println(jsonArray.toString());

您可以在属性上循环并将键/值添加到Json数组,如下所示:

Properties props = new Properties();
props.setProperty("Info1", "stack1");
props.setProperty("Info2", "stack2");

Enumeration e = props.propertyNames();
JsonArray  jsonArray = new JSONArray();

while(e.hasMoreElements()) {
    String key = (String) e.nextElement();
    String value = props.getProperty(key);

    JSONObject jsonObject = new JSONObject();
    jsonObject.put(key, value);

    jsonArray.add(jsonObject);
}

System.out.println(jsonArray.toString());

您还可以使用以下选项:

Properties=newproperties();
道具集合属性(“Info1”、“stack1”);
道具集合属性(“Info2”、“stack2”);
JSONArray数组=新的JSONArray();
Map Map=newhashmap();
迭代器iter=props.keySet().Iterator();
while(iter.hasNext()){
字符串键=(字符串)iter.next();
字符串值=props.getProperty(键);
map.put(键、值);
}
数组.put(map);
对于(int i=0;i
您还可以使用以下功能:

Properties=newproperties();
道具集合属性(“Info1”、“stack1”);
道具集合属性(“Info2”、“stack2”);
JSONArray数组=新的JSONArray();
Map Map=newhashmap();
迭代器iter=props.keySet().Iterator();
while(iter.hasNext()){
字符串键=(字符串)iter.next();
字符串值=props.getProperty(键);
map.put(键、值);
}
数组.put(map);
对于(int i=0;i
尝试使用地图:尝试使用地图: