JavaScript: 如何从json字符串中获取逗号分隔的字符串?

3

我有一个对应于该对象的JSON字符串值:

{
"id" : "122223232244",
"title" : "התרעת פיקוד העורף",
"data" : ["עוטף עזה 218","עוטף עזה 217"]
}

我试图从上面的对象中提取以下值,以便将data数组连接为一个单独的逗号分隔字符串,就像这样:"עוטף עזה 218,עוטף עזה 217"。如何做到这一点?
3个回答

3
这可以通过内置于Array类型中的join()方法实现:

const object = {
"id" : "122223232244",
"title" : "התרעת פיקוד העורף",
"data" : ["עוטף עזה 218","עוטף עזה 217"]
}

/* Join elements of data array in object to a comma separated string */
const value = object.data.join();

console.log(value);

如果未提供separator参数,则join()方法默认使用逗号分隔符。

更新

如果JSON是通过字符串以原始文本形式提供的,则可以使用JSON.parse()方法作为第一步从JSON字符串值中提取对象。

const json = `{"id" : "122223232244","title" : "התרעת פיקוד העורף","data" : ["עוטף עזה 218","עוטף עזה 217"]}`

/* Parse input JSON string */
const object = JSON.parse(json);

/* Join elements of data array in object to a comma separated string */
const value = object.data.join();

console.log(value);


2
使用点符号(例如obj.data)访问对象属性,然后在数组上使用join将其转换为以逗号分隔的字符串。最初的回答。

const obj = {
    "id" : "122223232244",
    "title" : "התרעת פיקוד העורף",
    "data" : ["עוטף עזה 218","עוטף עזה 217"]
}

console.log(obj.data.join(', '))


1

应该使用对象的名称和点符号来访问:

let obj = {
  "id" : "122223232244",
  "title" : "התרעת פיקוד העורף",
  "data" : ["עוטף עזה 218","עוטף עזה 217"]
}

你可以用以下方式获得这个结果:

obj.data

我已经修改了上面的代码,使其更加清晰。点表示法使用对象的名称,后跟一个点,再跟上您要获取的属性的名称。您可以像这样将obj.data保存到变量中: let data = obj.data; - Brian
不用谢。这是关于此类操作的文档: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Property_accessors#Syntax - Brian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接