如何修改json对象?

时间:2015-07-06 17:05:26

标签: javascript

是否可以从src代码中获取img?我有一个对象,我需要删除图像标记值示例

输入就是这个

[

    {
        "N": "ABC corp",
        "a": "<img src=\"/img/samples/flag_red.gif\" alt=\"red\" height=\"16\" width=\"16\" border=\"0\"/>",
        "c": "<img src=\"/img/samples/flag_red.gif\" alt=\"red\" height=\"16\" width=\"16\" border=\"0\"/>",
        "r": "<img src=\"/img/samples/flag_green.gif\" alt=\"green\" height=\"16\" width=\"16\" border=\"0\"/>",
        "p": "<img src=\"https://a.na7.visual.force.com/resource/1260007793000/a/iconset/gray.gif\" alt=\" \" height=\"16\" width=\"1\" border=\"0\"/>"

    }
]

我想要的输出是

[
    {
        "N": "3M",
        "a": "red",
        "c": "red",
        "r": "red",
        "p": "gray"

    },

    {
        "N": "ABC corp",
        "a": "red",
        "c": "red",
        "r": "green",
        "p": "gray"

    }
]

如果我想要的属性值位于src标记的img属性中,如何从给定的输入对象创建这个新对象?我需要检查输入对象属性中img标记的 src 属性。如果是 flag_red.gif ,则输出对象中的值应为红色。如果是 flag_green.gif ,则输出对象中的值应为绿色。如果是 gray.gif ,则输出对象中的值应为灰色

2 个答案:

答案 0 :(得分:-1)

以下介绍如何根据图片代码的 var service = new TwitterService(Consumer Key, Consumer Secret); service.AuthenticateWith("Access Token", "AccessTokenSecret"); TwitterSearchResult tweets = service.Search(new SearchOptions { Q = "#Pride",Lang="en"}); IEnumerable<TwitterStatus> status = tweets.Statuses; foreach (var item in status) { Console.WriteLine(item.User.ScreenName + " " + "Says:" + "\n" + item.Text+"\n"+ "ReTweeted:"+" "+item.RetweetCount); } 属性修改数据,为您提供一般概念。只需很少的努力,您就可以轻松修改它,以便使用alt属性进行修改。

src

答案 1 :(得分:-1)

您只需要检查<img>代码是否匹配,然后选择substring获取文件名并将其重新设置为JSON

Working Plunker

var obj=[
{
    "N": "3M",
    "a": "<img src=\"/img/samples/flag_red.gif\" alt=\"red\" height=\"16\" width=\"16\" border=\"0\"/>",
    "c": "<img src=\"/img/samples/flag_red.gif\" alt=\"red\" height=\"16\" width=\"16\" border=\"0\"/>",
    "r": "<img src=\"/img/samples/flag_red.gif\" alt=\"red\" height=\"16\" width=\"16\" border=\"0\"/>"
},
{
    "N": "ABC corp",
    "a": "<img src=\"/img/samples/flag_red.gif\" alt=\"red\" height=\"16\" width=\"16\" border=\"0\"/>",
    "c": "<img src=\"/img/samples/flag_red.gif\" alt=\"red\" height=\"16\" width=\"16\" border=\"0\"/>",
    "r": "<img src=\"/img/samples/flag_green.gif\" alt=\"green\" height=\"16\" width=\"16\" border=\"0\"/>"
}
];

for(var k in obj){
    for (name in obj[k]) {
        if(obj[k][name].indexOf("<img") != -1) {
            // I have made logic based on "flag_", this can be change as per your requirement.
            var src= obj[k][name].substring(obj[k][name].indexOf("flag_")+5,obj[k][name].indexOf(".gif"));
            obj[k][name]=src;
        }
    }
}