1

オブジェクトがあり、その内容を表示したい。

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

今、私はテキストの生の値が欲しい

4

8 に答える 8

1

なぜそれを交換しないのですか?

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

ライブで見たい場合はhttp://jsfiddle.net/PwGcr/

于 2013-09-11T05:25:21.887 に答える
0

JSON文字列を扱っていると思います。もしそうなら、それをクエリできるようにするために、それをjavascript構造に変換する必要があります:

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

ただし、この例では、文字列の末尾にカンマがあるため、エラーが発生する可能性があります。解析する前に必ず削除してください。

JSON を解析するにはいくつかの方法があることに注意してください。これは、最新のすべてのブラウザーで機能するはずです: このリンクをチェックして、現在サポートされているブラウザを確認してくださいJSON.parse()

于 2013-09-11T05:50:02.483 に答える
0

JSON文字列です。文字列操作を試みる代わりに、それを JSON オブジェクトに解析し、オブジェクトのプロパティを使用します。

 var obj = JSON.parse(message);
 alert(obj.text);
于 2013-09-11T05:02:53.727 に答える
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;
};
于 2013-09-11T05:04:03.110 に答える
0
var myObj = {text: "active    user
             active  user213123
             idle      user234234234
             loggedout  userafdadf" 
            };

var myText = myObj.text

オブジェクトのプロパティのようにアクセスするだけです

于 2013-09-11T05:00:06.177 に答える
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/を参照してください。

于 2013-09-11T05:00:47.483 に答える
0
 var jsonObj={"text": "active  user active  user213123 idle user234234234 loggedout  userafdadf"};
 alert('json obj '+jsonObj["text"]);
于 2013-09-11T05:01:53.100 に答える