Json文件如何加注释

铁血战士 发布于 2011/08/22 14:51
阅读 118K+
收藏 2

请问Json文件能否加注释,如果可以,如何加呢?

谢谢

加载中
4
逝水fox
逝水fox

按照json.org上的说法,本身的JSON语法上就不包含注释

虽然可以按照JS的方式去注释处理了,不过可能不保证所有的JSON解析包都支持了。比如这两个就会报错:

http://www.oschina.net/p/json.simple

http://www.oschina.net/p/svenson

另外页面前端对JSON的处理 也不是简单的eval就够了 可以参考下jQuery对JSON的解析处理

w
wzwxwc
这个回答最不错
2
鉴客
鉴客

你可以增加一个属性,例如 comment='这里是注释' :)

2
scl33
scl33

可以在开头插入, 或追加在结尾, 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

0
ShaoJiahao
ShaoJiahao
顶楼上,正解。
0
周小川
顶楼上的楼上。
0
郝亚飞
package com.zoole.util;

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;
    }
}
0
菠菜-Yashiro
菠菜-Yashiro

json文件是不可以加上注释的,因为有很多解析上的问题

详细请看 JSON教程 http://www.beejson.com/json/whatjson.html

返回顶部
顶部