如何在javascript中获取对象的价值

时间:2013-09-11 04:55:53

标签: javascript

我有一个对象,我想展示它的内容。

{"text": "active    user
          active  user213123
          idle      user234234234
          loggedout  userafdadf"
},

我做了Response = message.split(":")[1];我得到了:

"active    user
          active  user213123
          idle      user234234234
          loggedout  userafdadf"
},

然后:var value = message.split("}")[0];我得到了:

"active    user
          active  user213123
          idle      user234234234
          loggedout  userafdadf"

那么现在我怎么能摆脱""所以我可以得到文本的原始价值?除此之外还有其他方法来检索对象的值吗?因为这种方式看起来很疯狂..

我把整个对象放在我从这里获取“文本”:(那就是chrome调试器在控制台日志之后显示的内容)

{
getResponseHeader: function ( key ){}
pipe: function ( /* STDone, STFail, STProgress */ ) {
progress: function () {
promise: function ( obj ) {
readyState: 4

    TextContent: "{"text": "active    user
                  active  user213123
                  idle      user234234234
                  loggedout  userafdadf"}"

假设它们在消息变量中然后我做了Response = message.TextContent;并且在我收到console.log之后:

 TextContent: "{"text": "active    user
              active  user213123
              idle      user234234234
              loggedout  userafdadf"}"

现在我想要文本的原始值

8 个答案:

答案 0 :(得分:1)

为什么不直接替换它?

myString = myString.replace(/["]/g,'')
console.log(myString);
//or
alert(myString);

如果您希望直播http://jsfiddle.net/PwGcr/

答案 1 :(得分:0)

var myObj = {text: "active    user
             active  user213123
             idle      user234234234
             loggedout  userafdadf" 
            };

var myText = myObj.text

只需像访问对象上的属性一样访问它

答案 2 :(得分:0)

TextContent: "{"text": "active    user
          active  user213123
          idle      user234234234
          loggedout  userafdadf"}"

此处 TextContent 属性是字符串,而不是JSON对象。您应该使用 JSON.parse(message.TextContent)将字符串转换为JSON对象。

var jsonMessage = JSON.parse(message.TextContent);
alert(jsonMessage.text); // will alert the value of **text** property.

参考http://jsfiddle.net/5MtNf/1/

答案 3 :(得分:0)

 var jsonObj={"text": "active  user active  user213123 idle user234234234 loggedout  userafdadf"};
 alert('json obj '+jsonObj["text"]);

答案 4 :(得分:0)

这是一个JSON字符串。而不是对它进行字符串操作 - 将其解析为JSON对象并使用Object的属性,例如。

 var obj = JSON.parse(message);
 alert(obj.text);

答案 5 :(得分:0)

您可以使用以下功能删除字符串中的所有字符。

String.prototype.replaceAll = function(token, newToken, ignoreCase) {
  var _token;
  var str = this + "";
  var i = -1;

  if (typeof token === "string") {

    if (ignoreCase) {

      _token = token.toLowerCase();

      while ((i = str.toLowerCase().indexOf(token, i >= 0 ? i + newToken.length : 0)) !== -1) {
        str = str.substring(0, i) + newToken + str.substring(i + token.length);
      }

    } else {
      return this.split(token).join(newToken);
    }

  }
  return str;
};

答案 6 :(得分:0)

要从字符串的开头省略",您可以使用:

string.substr(1)

请查看this link处理字符串,但我建议您使用对象查看this

第一种方式是编码风格不好而且不正确。

答案 7 :(得分:0)

我猜你正在处理一些JSON字符串,如果是这样,你必须把它变成一个javascript结构才能查询它:

function parseJSON(json) {
    return (new Function('return ' + json + ';'))();
}
var o = parseJSON('{"test":"some content"}');
o.test // "some content"

但是,在您的示例中,字符串末尾有一个逗号,这可能会引发错误。确保在解析之前将其删除。

请注意,有几种方法可以解析JSON,这个方法适用于所有现代浏览器:https://stackoverflow.com/a/18733016/1636522。查看this link以查看当前支持的JSON.parse()