我想将属性文件中的内容显示为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类,并且我已经尝试过的建议答案不起作用。
您还可以使用以下选项:
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());
}
可以使用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"}
这里有一个关于杰克逊的好教程。
您可以在属性上循环并将键/值添加到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());
我正在使用 django 模板生成 JSON 文件,如下所示: 如何为JSON文件添加django模板支持以启用自动完成?
在使用Vdt的过程中,你也许会遇到这样一个问题:设置的属性,并不能渲染出来,例如: <input maxlength="10" /> 上述例子中,设置的maxlength属性丢失了。要理解这个原因,可以看看这段介绍 Content attribute & IDL attribute, 以及Virtual-Dom文档中对VNode的介绍 Content vs IDL attribute Conte
问题内容: 我正在使用Spring 从文件加载属性属性,如下所示: Spring xml文件 还有我的Class.java 但是在调试时,参数元素仅将最后一个元素带入列表,因此,存在一个值为“ 6”的元素的列表,而不是包含6个元素的列表。 我尝试了其他方法,例如仅添加值,但随后在属性文件中找不到任何参数。 一种解决方法是在elements.properties文件中使用逗号分隔列表,例如: 并将其
问题内容: 当显示其父元素时,是否有任何机制可显示子元素:无? 这种情况是隐藏选项卡上的验证错误。我想显示错误消息,即使该字段是隐藏的。 标记: CSS: 我猜这是不可能的,因为孩子没有上下文,但以防万一? 问题答案: 不,这是不可能的。隐藏该元素,因此不会显示任何子元素。 编辑: 这可能是沿着你想要的线,如果你能够从使用切换到。 使用此方法,您可以隐藏父元素的内容,但显示所需的特定内容。唯一需要
04-24 23:24:29.782 8144-8589/com.webdesigners.stockmarketW/System.err:android.view.ViewRootImpl$CalledFromWrongThreadExctive:只有创建视图层次结构的原始线程才能触摸其视图。04-24 23:24:29.783 8144-8589/com.webdesigners.stockm
问题内容: 是否可以使用默认值覆盖display属性?例如,如果我以一种样式将其设置为none,而我想以其默认值以其他方式覆盖它。 还是找出该元素的默认值然后将其设置为默认值的唯一方法?不想知道元素通常是block,inline还是任何一个… 问题答案: 浏览器的默认样式在其用户代理样式表中定义,您可以在此处找到其来源。不幸的是,级联和继承级别3规范似乎并未提出一种将样式属性重置为其浏览器默认值的