开源领域的桌面端 Manus?最懂打工人的智能体?DeepChat !
请问Json文件能否加注释,如果可以,如何加呢?
谢谢
你可以增加一个属性,例如 comment='这里是注释' :)
可以在开头插入, 或追加在结尾, json就是JavaScript的语法, 和JS完全一样的
例子一
//注释
/*注释, 注意注释必须用换行隔开, 就是JS的语法, 不然一行都被注释掉了*/
{a:1,b:2,c:[3,4,5]}
追加在最后也是一样的, 但是不能加在中间, 和你也JS代码语法一样的
最后, JSON和javascript有区别吗? 没有, JSON是js语法的一个子集, 你在你返回的JSON前面加段JS代码, 照样能执行, 比如说alert(123);
JS中{}就代表一个对象, []就代表一个数组, JSON就是直接使用这种数据格式而已
你在JS里直接写var a={a:1,b:2,c:[3,4,5]};或者var a=eval('('+'{a:1,b:2,c:[3,4,5]}'+')');
a就是这个对象了, 你可以alert(a.b),会弹出2
你可以增加一个属性,例如 comment='这里是注释' :)
可以在开头插入, 或追加在结尾, json就是JavaScript的语法, 和JS完全一样的
例子一
//注释
/*注释, 注意注释必须用换行隔开, 就是JS的语法, 不然一行都被注释掉了*/
{a:1,b:2,c:[3,4,5]}
追加在最后也是一样的, 但是不能加在中间, 和你也JS代码语法一样的
最后, JSON和javascript有区别吗? 没有, JSON是js语法的一个子集, 你在你返回的JSON前面加段JS代码, 照样能执行, 比如说alert(123);
JS中{}就代表一个对象, []就代表一个数组, JSON就是直接使用这种数据格式而已
你在JS里直接写var a={a:1,b:2,c:[3,4,5]};或者var a=eval('('+'{a:1,b:2,c:[3,4,5]}'+')');
a就是这个对象了, 你可以alert(a.b),会弹出2
import java.io.FileInputStream;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
/**
* json 配置文件读取
*
* @author hao
*
*/
public class ConfJsonUtil {
/**
* 获取json 配置文件 支持 \/**\/ 和 \/\/ 和 # 的注释 ,
* \/* 这是一个块注释*\/
* \/\/ 这是一个 行注释
* # 这是一个行注释
*/
public static JSONObject getJSONConf() {
try {
FileInputStream fis = new FileInputStream("conf/config.json");
byte[] fisBytes = new byte[(int) fis.available()];
fis.read(fisBytes);
fis.close();
String jsonStr = new String(fisBytes,"utf-8").replaceAll("//.*[\\n|\\r\\n]", "");
jsonStr= jsonStr.replaceAll("/\\*[\\s\\S]*\\*/", "");
jsonStr= jsonStr.replaceAll("#.*[\\n|\\r\\n]", "");
final JSONObject jsonObject = JSON.parseObject(jsonStr);
return jsonObject;
} catch (Exception e) {
e.printStackTrace();
System.out.println("读取配置文件出错,系统退出!");
System.exit(1);
}
return null;
}
}