Javascript 使用字符串访问json

Javascript 使用字符串访问json,javascript,json,string,object,Javascript,Json,String,Object,我有一些json:数据 我有一个字符串构建,如下所示: 章节。1.小节。0.项目。0.引用。段落 我需要做的是操纵该字符串,以便能够访问数据中的该值。所以把它变成有用的东西: 数据['sections'][1]['subsections'][0]['items'][0]['引文]['paration'] 然后使用它来更改数据中的值。因此: 数据['sections'][1]['subsections'][0]['items'][0]['引文]['paration']='new value' 我可

我有一些json:
数据

我有一个字符串构建,如下所示:
章节。1.小节。0.项目。0.引用。段落

我需要做的是操纵该字符串,以便能够访问
数据中的该值。所以把它变成有用的东西:
数据['sections'][1]['subsections'][0]['items'][0]['引文]['paration']

然后使用它来更改数据中的值。因此:
数据['sections'][1]['subsections'][0]['items'][0]['引文]['paration']='new value'

我可以拆分
上的原始字符串,并且我认为这会让我有所收获,但我根本不知道如何重新使用这些部分,以允许我访问
数据中的该值


谢谢

我仍然不太清楚为什么要以这种方式处理JSON,但如果必须以这种方式处理JSON,则需要使用递归来访问数据。假设我正确映射了您的对象,下面的示例应为您提供执行此操作的方法:

var数据={
章节:[
{
小节:[]
},
{
小节:[
{
项目:[
{
引文:{
段落:“术士引证”
}
}
]
}
]
}
]
};
var string=“sections.1.subsections.0.items.0.引文.段落”,
parts=string.split('.');
函数getValue(树,索引){
if(索引<(零件长度-1)){
返回getValue(树[parts[index]],索引+1);
}否则{
返回树[部件[索引];
}
}
函数setValue(树、索引、newValue){
if(索引<(零件长度-1)){
setValue(树[parts[index]],索引+1,newValue);
}否则{
树[parts[index]]=newValue;
}
}
警报(getValue(数据,0));
设置值(数据,0,“术士新引用”);

警报(getValue(数据,0))我仍然不太清楚为什么要以这种方式处理JSON,但如果必须以这种方式处理JSON,则需要使用递归来访问数据。假设我正确映射了您的对象,下面的示例应为您提供执行此操作的方法:

var数据={
章节:[
{
小节:[]
},
{
小节:[
{
项目:[
{
引文:{
段落:“术士引证”
}
}
]
}
]
}
]
};
var string=“sections.1.subsections.0.items.0.引文.段落”,
parts=string.split('.');
函数getValue(树,索引){
if(索引<(零件长度-1)){
返回getValue(树[parts[index]],索引+1);
}否则{
返回树[部件[索引];
}
}
函数setValue(树、索引、newValue){
if(索引<(零件长度-1)){
setValue(树[parts[index]],索引+1,newValue);
}否则{
树[parts[index]]=newValue;
}
}
警报(getValue(数据,0));
设置值(数据,0,“术士新引用”);

警报(getValue(数据,0))我仍然不太清楚为什么要以这种方式处理JSON,但如果必须以这种方式处理JSON,则需要使用递归来访问数据。假设我正确映射了您的对象,下面的示例应为您提供执行此操作的方法:

var数据={
章节:[
{
小节:[]
},
{
小节:[
{
项目:[
{
引文:{
段落:“术士引证”
}
}
]
}
]
}
]
};
var string=“sections.1.subsections.0.items.0.引文.段落”,
parts=string.split('.');
函数getValue(树,索引){
if(索引<(零件长度-1)){
返回getValue(树[parts[index]],索引+1);
}否则{
返回树[部件[索引];
}
}
函数setValue(树、索引、newValue){
if(索引<(零件长度-1)){
setValue(树[parts[index]],索引+1,newValue);
}否则{
树[parts[index]]=newValue;
}
}
警报(getValue(数据,0));
设置值(数据,0,“术士新引用”);

警报(getValue(数据,0))我仍然不太清楚为什么要以这种方式处理JSON,但如果必须以这种方式处理JSON,则需要使用递归来访问数据。假设我正确映射了您的对象,下面的示例应为您提供执行此操作的方法:

var数据={
章节:[
{
小节:[]
},
{
小节:[
{
项目:[
{
引文:{
段落:“术士引证”
}
}
]
}
]
}
]
};
var string=“sections.1.subsections.0.items.0.引文.段落”,
parts=string.split('.');
函数getValue(树,索引){
if(索引<(零件长度-1)){
返回getValue(树[parts[index]],索引+1);
}否则{
返回树[部件[索引];
}
}
函数setValue(树、索引、newValue){
if(索引<(零件长度-1)){
setValue(树[parts[index]],索引+1,newValue);
}否则{
树[parts[index]]=newValue;
}
}
警报(getValue(数据,0));
设置值(数据,0,“术士新引用”);
警报(getVal)