Javascript JSON解析返回空字符串?

Javascript JSON解析返回空字符串?,javascript,json,vue.js,Javascript,Json,Vue.js,我不确定这是否与VueJS或JS本身有关 我的数据库中有字符串(使用JSON.stringify()转换的JS对象),如下所示: {“type”:5,“value”:{“7”:“/data/images/structured content/64-7-scico.jpg”,“8”:“wefwe”,“9”:“Nějakýtext”,“10”:“/data/images/structured content/64-10-scico.jpg”} 我想做的是从数据库中选择它(通过Axios),将其转换回

我不确定这是否与VueJS或JS本身有关

我的数据库中有字符串(使用JSON.stringify()转换的JS对象),如下所示:

{“type”:5,“value”:{“7”:“/data/images/structured content/64-7-scico.jpg”,“8”:“wefwe”,“9”:“Nějakýtext”,“10”:“/data/images/structured content/64-10-scico.jpg”}

我想做的是从数据库中选择它(通过Axios),将其转换回JS对象并将其设置为VueJS数据:

.then(response => {

            if (response.data.response === "ok" && response.status == 200) {

                // get data
                let data = response.data.data.data[0];

                // pass name to state
                this.objectName = data.name;

                // get json in string format
                let result = data.content;

                // first log
                console.log(result);

                // convert string to json
                let content = JSON.parse( result );

                // second log
                console.log( content.values );

                // update states
                this.IDType = content.type;
                this.values = content.values;


            }

        })
Axios数据.name内容.type工作正常,但是第二个日志(内容.values)似乎返回了带有空字符串的observer,我无法将其传递给Vue数据并使用它,正如您在下面的屏幕上看到的,无论我做什么,此对象中的值都是空的。 这里到底出了什么问题?谢谢大家!

从调试器:


要成为反应式Vue,需要在分配对象的键之前知道它们是什么。因此,如果已知,请预先分配:

data : () => ({
  values : {
     7 : "",
     8 : "",
     9 : "",
     10 : ""
  }
}),
然后使用“对象指定”来设置它们:

Object.assign(this.values, content.values)
如果键是未知/动态值,则可以使用
$set
方法将其设置为被动:

Object.keys(content.values).forEach(
  function(key){
     this.$set(this.value, key, content.values[key])
  }
)

记录一个特定的成员,而不是整个对象。这是可行的,但我需要将整个对象添加到我的Vue数据中,这就是问题所在,我试图像这样欺骗它:
object.entries(content.values).forEach(([key,val])=>{this.values[key]=val;});console.log(this.values)但没有成功值很好,您只是想过早地使用它们。将鼠标悬停在控制台消息上的蓝色“i”图标上…@Teemu这当然是可能的,我只是不知道该怎么做,怎么可能?我一直在尝试处理axios在解析后返回的数据,数据显然已经存在,为什么我要过早地使用它们呢?那么我该怎么办呢?如果预览(红色文本)中存在这些值,但下拉列表中不存在这些值,则表示它们在最初创建console.log时存在,但随后丢失。您可以尝试添加
调试器
紧接着
console.log(content.values)
?这对我来说不起作用,无论我如何尝试应用您的解决方案,总是以观察者的形式将我的数据获取到“This.values”,但这并没有真正起作用