我必须合并2个json文件,并需要在其中一个文件中保留一个字符串:
< code > " weeks ":" weeks \ u00a 0 days "
合并后的 \u00a0
始终更改为空格:“周”:“周”
我希望它保留为:
“周”:“周\u00a0天”
一些代码:
//merge.js
const fs = require('fs');
const test1 = fs.readFileSync('./test1.json', 'utf8');
const test2 = fs.readFileSync('./test2.json', 'utf8');
const merge = (obj1, obj2) =>
JSON.stringify({ ...JSON.parse(obj1), ...JSON.parse(obj2) }, null, 4);
const saveFile = (fileName, obj1, obj2) => {
fs.writeFile(`${__dirname}/${fileName}`, merge(obj1, obj2), err => {
if (err) throw err;
console.log(`The file ${fileName} has been saved!`);
});
};
saveFile('testFinal.json', test1, test2);
test1.json
{
"link": {
"about": "About",
"version": "version"
},
"items": {
"siteId": "Site ID",
"siteName": "Site name",
"siteType": "Site type",
"weeks": "weeks\u00a0days"
}
}
test2.json测试2.json
{
"features": {
"activateFeatures": "Activate features",
"confirmation": "Confirmation",
"hardware": "Hardware",
"existingHardware": "Existing hardware",
"emailLicense": "Email license",
"downloadLicense": "Select quantity"
}
}
请帮忙
默认情况下,< code>JSON.stringify会保留字符串中的原始字符,并仅对应该转义的元素(如双引号或反斜杠)执行转换,以确保stringified实体的语法正确。
如果希望转义目标字符串中Unicode字符的自定义范围,请使用以下转换构造。当然,您可以在regexp中调整Unicode字符范围,应该编码为< code>\uXXXX。看这里的人物分类:http://www.unicode.org/notes/tn36/Categories.txt
const jsonUtfStringify = inputObject => JSON.stringify(inputObject).replace(
/[\0-\x1F\x7F-\x9F\xAD\u0378-\uFFFF]/g,
match => `\\u${(+match.codePointAt(0)).toString(16).padStart(4, '0')}`
)
合并后的\u00a0总是变为空格:“周”:“周-天”。
我想你会发现它转化为一个硬空间,而不是一个空间。例子:
const json = '{"foo": "Testing one\\u00a0two\\u00a0three"}';
console.log(json);
const parsed = JSON.parse(json);
console.log(parsed.foo.includes("\u00a0")); // true
const json2 = JSON.stringify(parsed);
console.log(json2);
console.log(json2.includes("\u00a0")); // true
我有一个由用户创建的日期对象,其中时区由浏览器填充,如下所示: 不过,当我把它串起来时,时区就消失了 在保留浏览器时区的同时获取ISO8601字符串的最佳方法是使用矩。js和使用<代码>矩。format()。内部字符串化(在本例中为AngularJS) 为了完整性,我的域确实需要本地时间和偏移量。
问题内容: 我最近开始使用Python,并且尝试将我的JSON字符串之一与现有JSON字符串连接在一起。我也在与Zookeeper一起工作,所以当我使用Python kazoo库时,我从zookeeper节点获取了现有的json字符串。 如果我打印,它会给我这样的感觉- 但是,如果我这样做,它会像这样打印出来- 这里将有我现有的JSON字符串。现在我有另一个键值对,我需要在出口添加- 以下是我的P
问题内容: 我有一个由用户创建的日期对象,时区由浏览器填充,如下所示: 不过,当我将其字符串化时,时区会再见 在保留浏览器时区的同时获取ISO8601字符串的最佳方法是使用moment.js并使用,但是如果我通过内部使用的东西序列化整个命令(在这种情况下,是AngularJS)当然是行不通的) 为了完整起见,我的域 确实 需要本地时间和偏移量。 问题答案: 假设您有某种包含的对象: 您可以覆盖原型
问题内容: 我有以下字符串(Java 1.5): 我需要一个数组: 用Java最方便的方法是什么? 问题答案: 这将为您提供所需的数组,只有第一项为空。和: 这将使数组没有空的第一项。 此处的关键是零宽度正向超前(非捕获构造)(请参阅regex pattern docs)。 表示“或者;或:” 是字边界的-在那里是为了不将第一个视为定界符(因为它是序列的开头)
问题内容: 这是解释此问题的最简单方法。这是我正在使用的: 这就是我想要的: 原因是我想将字符串拆分为标记,对其进行操作,然后再次将其放回原处。 问题答案:
我有一个POJO类A,我希望字段按照我定义的顺序,但是“1800号”在响应中出现在最后,因为它以数字开头。我如何避免这种情况? 这就是我得到回应的方式 我在gradle中使用以下库