2013-09-11 3 views
1

У меня есть объект, и я хочу показать его содержимое.Как получить значение объекта в 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" 

Так что теперь, как я могу избавиться от "", так что я могу иметь сырье ценность текста? а кроме того, есть ли другой способ получить значение объекта? потому что этот путь кажется сумасшедшим ..

я поставил весь объект, который я забирающий «текст» от здесь: (вот что хром отладчик показывает после входа консоли)

{ 
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"}" 

Теперь я хочу необработанное значение текста

+0

Как это json Объект использовать его как значение get from json – Warewolf

+0

Откуда возникает сообщение? Почему у него есть конечная запятая? – Phil

+0

Ваш вопрос немного запутанный. Похоже, вы спрашиваете, как вы получаете значения 'user',' active', 'idle' и' loggedout'. но ваш вопрос спрашивает, как вы получаете значение 'text', которое является просто текстом, так как оно не правильно отформатировано для получения отдельных значений. – phuzi

ответ

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

var myText = myObj.text 

Просто доступ к нему как свойство на объекте

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. 

Refer http://jsfiddle.net/5MtNf/1/.

+0

Когда я попробую это, я получил: undefined – user2766267

+0

var myObj = {"text": "You test message"}; оповещения (myObj.text); Он должен работать, см. Http://jsfiddle.net/5MtNf/ –

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

Это строка JSON. Вместо того, чтобы пытаться манипулировать строкой на нем - разобрать его в объект JSON и использовать свойство объекта, например.

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

Я получаю undefined, когда я пытаюсь это сделать – user2766267

+0

Где вы получаете undefined? Ниже приведена демонстрация этого кода: http://jsfiddle.net/aB8bL/1/ –

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; 
}; 
0

Чтобы опустить " с начала строки, которую вы можете использовать:

string.substr(1) 

Взгляните на this link для работы со строками, но я предлагаю вам для работы с объектом взгляда на this.

Первый способ плохого кодирования и неправильный стиль.

1

Почему бы просто не заменить его?

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

В случае, если вы хотите, чтобы видеть это жить http://jsfiddle.net/PwGcr/

0

Я предполагаю, что вы имеете дело с какими-то строками JSON, если да, то вы должны превратить его в яваскрипте структуру для того, чтобы иметь возможность запросить его :

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().

Смежные вопросы