如何创建JSon对象并在其中存储数据

时间:2013-08-01 12:31:12

标签: javascript jquery rest

我正在尝试使用REST调用从API中使用数据。我成功地从API获取数据。 我有不同的休息电话,我为每个人创造了不同的功能。 我想知道我是否可以使用JSon存储这些数据

它工作得很完美并获得所有的Rest调用,但我想将它们存储在JSon对象数据中,以便将其作为结果显示出来。

我做了什么。 - 我创建了一个名为Json的新对象 - 我使用REST调用循环使用数据。 - 但每当我得到这些数据时,我都会遇到问题。

 var jsonObj = []; //declare object

         $.each(data.results, function(i,item){ // on this line

              jsonObj.push({id:item.conceptUuid , 

                  MedicalImage: item.dataURI ,
                  title: item.title ,
                  description: item.description ,


                 });
             $htmlstring.append($('<li/>').append($('<img/>').attr('src',jsonObj.MedicalImage)   ));
        $htmlstring.append("<div class='title'> title: " + jsonObj.title 
          + "<br> description : "+ jsonObj.description +

            "</div>")
          });

           $('#result').html($htmlstring);

该函数应该将查询字符串作为参数,服务器将数据作为JSON返回。

你能告诉我一个例子如何使用jQuery在JSON对象中存储数据来避免多次调用吗?

1 个答案:

答案 0 :(得分:0)

JSON代表“JavaScript Object Notation”。它是一种专为序列化网络传输而设计的格式,不适用于运行时内存存储。在JavaScript内部,JSON对象只是一个对象。 “对象表示法”部分描述了这样一个事实:即使JSON通过网络作为字符串传输,它的结构仍然可以被软件和人类读取 - 作为常规的普通JS对象。

在示例中,JSON.stringify({foo:'one', bar:'two'})将返回'{"foo":"one", "bar":"two"}',这是JavaScript对象的字符串表示,可用于HTTP传输。同样,在接收端调用JSON.parse('{"foo":"one", "bar":"two"}')会将其转换回原始对象结构,数据类型保持不变。阅读有关JSON here的更多信息。

除了怀疑对JSON是什么和不是什么的误解之外,我不确定你的意思是什么。我认为你正在麻烦读取数据并且没有在屏幕上显示任何内容。这可能是由于许多事情,主要是:

  1. 您可能无法使用反序列化的JSON字符串。在这种情况下,上面的datadata.results参数可能仍然是JSON,在这种情况下,您需要首先在其上调用JSON.parse(data),以便迭代数据对象的属性。 / LI>
  2. 您可能正在尝试使用范围外变量,因为您正在处理成功回调中已有的变量($htmlstring)。如果是这样,您应该阅读JavaScript scope model
  3. 如果这些都没有帮助,我建议您在浏览器中打开JavaScript控制台,运行代码并检查错误消息。如果有的话,你应该把它们发布在这里,以便更好地获得一个好的答案。

    祝你好运!